r | 在其中绘制预览的矩形。 |
background | 背景图像。 |
实现此方法可创建您自己的交互式自定义预览。交互式自定义预览用于检视面板和对象选择器的预览区域。
如果您只想显示交互式自定义预览,请实现此方法,而非 OnPreviewGUI(如果某些预览是交互式的而其他预览不是,则可以同时实现这两种方法)。
重载的方法应使用传入的矩形,并在该矩形中渲染资源预览。
默认实现为无操作。
注意:检视面板预览仅限于持久性对象(资源)的主编辑器,例如 GameObjectInspector、MaterialEditor、TextureInspector。
这意味着,组件当前无法拥有自己的检视面板预览。
using UnityEngine;
using UnityEditor;
// Create an editor window which can display a chosen GameObject.
// Use OnInteractivePreviewGUI to display the GameObject and
// allow it to be interactive.
public class ExampleClass: EditorWindow
{
GameObject gameObject;
Editor gameObjectEditor;
[MenuItem("Example/GameObject Editor")]
static void ShowWindow()
{
GetWindowWithRect<ExampleClass>(new Rect(0, 0, 256, 256));
}
void OnGUI()
{
gameObject = (GameObject) EditorGUILayout.ObjectField(gameObject, typeof(GameObject), true);
GUIStyle bgColor = new GUIStyle();
bgColor.normal.background = EditorGUIUtility.whiteTexture;
if (gameObject != null)
{
if (gameObjectEditor == null)
gameObjectEditor = Editor.CreateEditor(gameObject);
gameObjectEditor.OnInteractivePreviewGUI(GUILayoutUtility.GetRect(256, 256), bgColor);
}
}
}