Version: 2022.1

Editor.OnInteractivePreviewGUI

切换到手册
public void OnInteractivePreviewGUI (Rect r, GUIStyle background);

参数

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); } } }