OnInspectorGUI方法中的代码,当Unity在Inspcetor中显示这个编辑器时执行。你可以在这里放入任何GUI代码--它的工作和游戏中的OnGUI方法类似,只不过它是在Inpector中执行,Editor定义了target属性,以便让你能够获得被检视的对象。 通过检查GUI.changed,如果发现用户修改了任何值,EditorUtility.SetDirty代码就会执行。其作用...
Inspector是Unity中用于查看和编辑游戏对象组件属性的面板。通过继承Editor类并重写OnInspectorGUI方法,可以自定义Inspector的显示和行为。 using UnityEngine; using UnityEditor; [CustomEditor(typeof(MyComponent))] public class MyComponentEditor : Editor { public override void OnInspectorGUI() { MyComponent myCo...
usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEditor;//自定义CubeTerrain的Inspector面板[CustomEditor(typeof(CubeTerrain))]publicclassCubeTerrainEditor : Editor { CubeTerrain ct;//////自定义Inspector///publicoverridevoidOnInspectorGUI() { ct=(CubeTerrain)target;//设置...
Tooptip()属性用于在 Inspector 面板中,当鼠标停留在设置了Tooptip()的属性添加指定的提示;Space()用于为在 Inspector 面板两属性之间添加指定的距离,如下所示: Unity Editor 基础篇(二):自定义 Inspector 面板 最终效果 准备工作 还是使用上一篇的 Unity 工程,然后在 Scripts 文件夹里创建一个新的 C# 脚本,命...
常用的自定义 Inspector 界面布局属性 现在,请你在 Editor 文件夹中创建一个新的 C# 脚本,双击就打开该脚本,并为其添加如下代码: Okey,接下来一一分析一下 1、Vertical - 垂直布局 默认的界面布局就是垂直布局,但是为了节目效果,我们还是把它写上比较好,设置元素为垂直布局需使用这对兄弟来声明: 代码语言:java...
我的本意是想在Rect Transform面板的下面去添加一个按钮,可是我一旦调用base.OnInspectorGUI()方法以后,原有的布局都就变了 为什么会影响到原有布局呢?原因是这样的上面的代码是继承Editor的,那么base.OnInspectorGUI()实际上去掉用了Editor类里的OnInspectorGUI()方法,可是RectTransfm的OnInspectorGUI()方法是在RectT...
1. 自定义Inspector Inspector是Unity中用于查看和编辑游戏对象组件属性的面板。通过继承Editor类并重写OnInspectorGUI方法,可以自定义Inspector的显示和行为。 using UnityEngine; using UnityEditor; [CustomEditor(typeof(MyComponent))] public class MyComponentEditor : Editor ...
publicclassCustomInspector : Editor { publicoverridevoidOnInspectorGUI() { stringpath = AssetDatabase.GetAssetPath(target); GUI.enabled =true; Debug.Log(path); if(path.EndsWith(".txt")) { GUILayout.Button("我是文档"); } elseif(path.EndsWith(".abc")) ...
LookAtPointEditor 继承自Editor,CustomEditor告诉 Unity 这个组件具有自定义编辑器功能。具体在 Inspector 中自定义的外观在 OnInspectorGUI() 中定制。这里仅使用了Vector3 的默认布局外观,并在下方添加一个 Label 表明当前位置在 lookAtPoint 的上方还是下方。我们在看看 MainCamera 的 Inspector,变成了如下的式样。
为什么会影响到原有布局呢?原因是这样的上面的代码是继承Editor的,那么base.OnInspectorGUI()实际上去掉用了Editor类里的OnInspectorGUI()方法,可是RectTransfm的OnInspectorGUI()方法是在RectTransformEditor这个类写的。 但是问题就来了,RectTransformEditor这个类不是一个对外公开的类。所以不能继承它,那也就无法调用...