gpt4 book ai didi

unity-game-engine - 自定义窗口上的 Unity 自定义检查器

转载 作者:行者123 更新时间:2023-12-02 11:58:41 27 4
gpt4 key购买 nike

我有一个显示对象列表的自定义窗口。每个对象都有一个自定义检查器编辑器。

是否可以在自定义窗口内显示自定义检查器?

最佳答案

您无法强制 Unity3D 在检查器窗口以外的其他位置绘制自定义检查器。

顺便说一句,您可以使用Editor.CreateEditor手动启动编辑器方法。由于您正在显示自定义检查器,因此应该可以从 Window.OnGUI 方法内部手动实例化它,并使用编辑器的公共(public) OnInspectorGUI 方法来绘制窗口内的编辑器。

例如,如果您已将名为 CustomScript 的脚本附加到 GameObject,并且有一个名为 CustomScriptEditor 的相关 Editor code>,假设您从层次结构中选择了 GameObject,此代码将可视化 EditorWindow 内的自定义检查器:

using UnityEditor;
using UnityEngine;


public class TestWindow : EditorWindow
{

[MenuItem ("Window/Editor Window Test")]
static void Init ()
{
// Get existing open window or if none, make a new one:
TestWindow window = (TestWindow)EditorWindow.GetWindow (typeof (TestWindow));
}

void OnGUI () {

GameObject sel = Selection.activeGameObject;

CustomScript targetComp = sel.GetComponent<CustomScript>();

if (targetComp != null)
{
var editor = Editor.CreateEditor(targetComp);
editor.OnInspectorGUI();
}

}
}

关于unity-game-engine - 自定义窗口上的 Unity 自定义检查器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16054955/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com