Unity Inspector面板常用的属性

Posted meteoric_cry

tags:

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

在扩展Unity的时候,往往会用到一些属性,这里将常用的列一下。

1、属性只读;

#if UNITY_EDITOR
using UnityEditor;
#endif

using UnityEngine;


public class ReadOnlyAttribute : PropertyAttribute
{

}

#if UNITY_EDITOR
[CustomPropertyDrawer(typeof(ReadOnlyAttribute))]
public class ReadOnlyDrawer : PropertyDrawer
{
    public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
    {
        return EditorGUI.GetPropertyHeight(property, label, true);
    }

    public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
    {
        GUI.enabled = false;
        EditorGUI.PropertyField(position, property, label, true);
        GUI.enabled = true;
    }
}
#endif
 
 
[ReadOnly]
 public string PLUGIN = "";

 

2、私有变量在 Inspector 显示出来  [SerializeField]

[ReadOnly]
[SerializeField]
 private string ABC = "abc";

 

效果如下:

技术分享图片

 

3、为属性添加头部说明 [HeaderAttribute]

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    [Header("Health Settings")]
    public int health = 0;
    public int maxHealth = 100;
    [Header("Shield Settings")]
    public int shield = 0;
    public int maxShield = 0;
}

 

 

4、隐藏属性 [HideInInspector]

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    [HideInInspector]
    public int p = 5;
}

 

其它还有诸如 HelpURL 等,详情可参考 官方帮忙文档 https://docs.unity3d.com/ScriptReference/HeaderAttribute.html

以上是关于Unity Inspector面板常用的属性的主要内容,如果未能解决你的问题,请参考以下文章

Unity 之 代码切换横竖屏

Unity中自定义 Inspector 面板

如何自定义unity的inspector面板

Unity Inspector 面板的某些特性

拓展编辑器(二十)_面板拓展(Inspector面板

Unity何时调用Inspector初始化