前言
首先我们创建一个预制体文件夹,然后创建一个Cube做成预制体,我们可以看到这个预览窗口
预览窗口拓展
这里我们实现一个通过自定义的顶部菜单栏的Test1选项点击出现预览窗口:
然后拖动预制体进去显示预览信息:
具体实现代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class TestPreview : EditorWindow
{
//定义一个对象来代表当前的游戏对象
private Object obj;
//我们上一个的游戏物体
private Object lastObj;
//我们预览的游戏物体
private Editor previewObj;
private void OnGUI()
{
obj = EditorGUILayout.ObjectField(obj,typeof(Object),false);
previewObj = Editor.CreateEditor(obj);
if (previewObj != null && obj !=lastObj)
{
previewObj = Editor.CreateEditor(obj);
}
if (previewObj != null&&previewObj.HasPreviewGUI())
{
//绘制预览的信息参数2是预览的样式,我们可以选择我们想要的
previewObj.OnPreviewGUI(GUILayoutUtility.GetRect(400, 400), EditorStyles.label);
}
}
}
效果如下: