大家可能知道,我们可以为单行为类创建编辑器脚本。
我想有能力为组件制作编辑器。可能吗?
编辑 1
我不是在问Monobehavior编辑器类,而是在问组件类。
编辑 2
我说的是完全通过编辑器扩展组件类。准确地为"组件"编写编辑器,以便能够为转换组件,刚体组件等制作自定义检查器
我想您正在寻找的是一种覆盖默认 Unity 组件编辑器脚本的方法(MonoBehaviour
脚本基本上是您创建的组件(。我建议使用第一种方法:
-
如果只想完全更改 Unity 组件的显示方式,则可以创建一个派生自要更改的组件的新类,并将其编写为自定义检查器:
using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif public class YOUR_CLASS_NAME : THE_CLASS_YOU_DERIVE_FROM { } #if UNITY_EDITOR [CustomEditor(typeof(YOUR_CLASS_NAME))] public class YOUR_CLASS_NAME_CUSTOM_EDITOR : Editor { public override void OnInspectorGUI() { // If you want to display THE_CLASS_YOU_DERIVE_FROM as it is usually on the inspector (doesn't completely work with some components that have "complex" editor) base.OnInspectorGUI(); // Otherwise feel free to do what you want } } #endif
请注意,您也可以使用 2 个脚本(只需不要忘记将编辑器放在 .../Editor/... 文件夹下:)
- 请记住,如果这不是为了覆盖 Unity 默认组件,您还可以使用 PropertyDrawers 更改序列化属性在检查器中的显示方式。您可以查看此链接以获取更多信息。
希望这有帮助,