unity HideInInspector与SerializeField】的更多相关文章

[HideInInspector]表示将原本显示在面板上的序列化值隐藏起来. [SerializeField]表示将原本不会被序列化的私有变量和保护变量可以序列化,这么他们在下次读取时,就是你上次赋值的值. 1如果a是公有的序列化变量. 1.1如果你想要在面板中看到a,那么用: public int a; 1.2如果你不想在面板中看到a,那么用: [HideInInspector] public int a; // 这样a可以在程序中被代码赋值,但不会在面板中看到并手动设置赋值. 2 如果a是私…
首先,Unity会自动为Public变量做序列化,序列化的意思是说再次读取Unity时序列化的变量是有值的,不需要你再次去赋值,因为它已经被保存下来. 然后是,什么样的值会被显示在面板上? 已经被序列化,但是没有用HideInInspector标记的值. [HideInInspector]表示将原本显示在面板上的序列化值隐藏起来. [SerializeField]表示将原本不会被序列化的私有变量和保护变量可以序列化,这么他们在下次读取时,就是你上次赋值的值. 1如果name是公有的序列化变量.…
http://blog.sina.com.cn/s/blog_697b1b8c0102uxvn.html Unity会自动为Public变量做序列化,序列化的意思是说再次读取Unity时序列化的变量是有值的,不需要你再次去赋值,因为它已经被保存下来. 什么样的值会被显示在面板上?已经被序列化,但是没有用HideInInspector标记的值. [HideInInspector]表示将原本显示在面板上的序列化值隐藏起来. [SerializeField]表示将原本不会被序列化的私有变量和保护变量可…
http://blog.csdn.net/luyuncsd123/article/details/21563697 [HideInInspector]表示将原本显示在面板上的序列化值隐藏起来. [SerializeField]表示将原本不会被序列化的私有变量和保护变量可以序列化,这么他们在下次读取时,就是你上次赋值的值. 1如果a是公有的序列化变量. 1.1如果你想要在面板中看到a,那么用: public int a; 1.2如果你不想在面板中看到a,那么用: [HideInInspector]…
1:   如果  一个public字段 刚开始有默认值,然后你你觉得这个值不应该给别人看设置为HideInInspector 后,你再在代码里面调整这个默认属性的值,这个时候代码里面调整的值无效.  重点说明: HideInInspector  只是隐藏,不代表,他没有了序列化功能.  [NonSerialized] vs [HideInInspector]…
在Unity中,一个变量为公有类型,但是呢你不想让它显示在属性面板上,这个时候用 [HideInInspector] 这是隐藏的意思,举例: 用了[HideInInspector] 之后 就是这样用的,还有一个 [SerializeField] 是显示的意思,它用在你的私有变量想在属性面板出现的情况下,这里不演示了 还有一个 [System.Serializable] 这个写在类的外面,为其他的一个类或者枚举写在上面,这样的话呢这个类或者枚举就可以当做变量来使用了…
在Unity3d中Unity3D 中提供了非常方便的功能可以帮助用户将 成员变量 在Inspector中显示,并且定义Serialize关系. 也就是说凡是显示在Inspector 中的属性都同时具有Serialize功能(序列化的意思是说再次读取Unity时序列化的变量是 有值的,不需要你再次去赋值,因为它已经被保存下来). 1. public 变量 在没有加入任何Attribute的前提下,public变量是默认被视为可以被Serialize的.所以public声明的变量在Inspector…
非public变量需要加[SerializeField]才能序列化 例如: MonoBehaviour中: [SerializeField] private float m_xxx; 在相应的CustomEditor脚本中: SerializedProperty m_xxx= serializedObject.FindProperty ("m_xxx"); m_xxx.floatValue=1.0f;//*** 否则的话***句会报空引用错误.…
下面写法不报错: [System.Serializable] public class CmyObj{ CA m_a; ... } public class XXX: MonoBehavior{ [HideInInspector] public CmyObj m_myObj; void Start(){ } void Update(){ } } 下面写法也不报错: [System.Serializable] public class CmyObj{ CA m_a=new CA(); ... }…
[HideInInspector] public Transform t; public Transform mm; public Transform nn3; 在变量前面加入,作用:隐藏下一条在Inspector的属性显示,如下图,只显示了后两个变量.…