SerializeField和HideInInspector】的更多相关文章

在Unity中,一个变量为公有类型,但是呢你不想让它显示在属性面板上,这个时候用 [HideInInspector] 这是隐藏的意思,举例: 用了[HideInInspector] 之后 就是这样用的,还有一个 [SerializeField] 是显示的意思,它用在你的私有变量想在属性面板出现的情况下,这里不演示了 还有一个 [System.Serializable] 这个写在类的外面,为其他的一个类或者枚举写在上面,这样的话呢这个类或者枚举就可以当做变量来使用了…
[HideInInspector]表示将原本显示在面板上的序列化值隐藏起来. [SerializeField]表示将原本不会被序列化的私有变量和保护变量可以序列化,这么他们在下次读取时,就是你上次赋值的值. 1如果a是公有的序列化变量. 1.1如果你想要在面板中看到a,那么用: public int a; 1.2如果你不想在面板中看到a,那么用: [HideInInspector] public int a; // 这样a可以在程序中被代码赋值,但不会在面板中看到并手动设置赋值. 2 如果a是私…
http://blog.csdn.net/luyuncsd123/article/details/21563697 [HideInInspector]表示将原本显示在面板上的序列化值隐藏起来. [SerializeField]表示将原本不会被序列化的私有变量和保护变量可以序列化,这么他们在下次读取时,就是你上次赋值的值. 1如果a是公有的序列化变量. 1.1如果你想要在面板中看到a,那么用: public int a; 1.2如果你不想在面板中看到a,那么用: [HideInInspector]…
首先,Unity会自动为Public变量做序列化,序列化的意思是说再次读取Unity时序列化的变量是有值的,不需要你再次去赋值,因为它已经被保存下来. 然后是,什么样的值会被显示在面板上? 已经被序列化,但是没有用HideInInspector标记的值. [HideInInspector]表示将原本显示在面板上的序列化值隐藏起来. [SerializeField]表示将原本不会被序列化的私有变量和保护变量可以序列化,这么他们在下次读取时,就是你上次赋值的值. 1如果name是公有的序列化变量.…
http://blog.sina.com.cn/s/blog_697b1b8c0102uxvn.html Unity会自动为Public变量做序列化,序列化的意思是说再次读取Unity时序列化的变量是有值的,不需要你再次去赋值,因为它已经被保存下来. 什么样的值会被显示在面板上?已经被序列化,但是没有用HideInInspector标记的值. [HideInInspector]表示将原本显示在面板上的序列化值隐藏起来. [SerializeField]表示将原本不会被序列化的私有变量和保护变量可…
你曾想要把某些公有变量在Inspetor面板中隐藏起来吗,这样很简单就能做到. 让我们来看以下代码: using UnityEngine; public class HidingScript : MonoBehaviour { ; ; } 可以看到这里Public 出的变量都显示出来了,要想让Public修饰的变量不在inspector中显示,需要给不显示的变量加上[HideInInspector]. using UnityEngine; public class HidingScript :…
Serialize功能 Unity3D 中提供了非常方便的功能可以帮助用户将 成员变量 在Inspector中显示,并且定义Serialize关系. 简单的说,在没有自定义Inspector的情况下所有显示在Inspector 中的属性都同时具有Serialize功能. 换句话说,就是你在Inspector看到什么,保存游戏的时候,这些值就会被保存成二进制文件. 本文说说可被Serialize的变量的定义方法 1. public 变量 在没有加入任何Attribute的前提下,public变量是…
非public变量需要加[SerializeField]才能序列化 例如: MonoBehaviour中: [SerializeField] private float m_xxx; 在相应的CustomEditor脚本中: SerializedProperty m_xxx= serializedObject.FindProperty ("m_xxx"); m_xxx.floatValue=1.0f;//*** 否则的话***句会报空引用错误.…
1:   如果  一个public字段 刚开始有默认值,然后你你觉得这个值不应该给别人看设置为HideInInspector 后,你再在代码里面调整这个默认属性的值,这个时候代码里面调整的值无效.  重点说明: HideInInspector  只是隐藏,不代表,他没有了序列化功能.  [NonSerialized] vs [HideInInspector]…
SerializeField Inherits from Attribute Force Unity to serialize a private field. 强制Unity去序列化一个私有域. You will almost never need this. When Unity serializes your scripts, it will only serialize public fields. If in addition to that you also want Unity t…