Unity 扩展编辑器

Posted 骑着单车滑翔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 扩展编辑器相关的知识,希望对你有一定的参考价值。

  • 扩展Inspector界面
    • 继承自Editor,添加CustomEditorAttribute,传入定制的类型
      • 定制显示的类型要求:
        1. 类型中所有的public 字段都会自动暴露给Inspector编辑器
        2. 类型中非public 字段,可通过使用SerializeFieldAttribute来暴露给Inspector
        3. 使用HideInspectorAttribute可隐藏字段
    • Unity消息接口:
      • private void OnEnable();
      • private void OnDisable();
      • private void OnDestroy();
      • public override void OnInspectorGUI();
    • Editor类自带property: 
      • Object Editor.target {get; set;}  如果类型中暴露给Inspector的字段都是public,使用target即可
      • SerializedObject Editor.serializedObject {get;} 如果类型非public字段,使用SerializeFieldAttribute来暴露给Inspector,则需要使用到serializedObject
        • EditorGUILayout.PropertyField(serializedObject.FindProperty("color"));
        • if (GUI.changed)
          {
          serializedObject.ApplyModifiedProperties();
          }

以上是关于Unity 扩展编辑器的主要内容,如果未能解决你的问题,请参考以下文章

Unity编辑器扩展chapter1

unity shader 编辑器扩展类 ShaderGUI

Unity 扩展编辑器

Unity扩展编辑器五

Unity编辑器扩展

Unity编辑器扩展: 程序化打图集工具