【马马虎虎系列】Unity的attributes大集合(1)
来源:互联网 发布:淘宝美工课程介绍 编辑:程序博客网 时间:2024/05/18 02:46
其实写这篇文章是因为读了老外的一篇文章
老外的文章是对Unity官方参考文档的一个归纳
我这篇文章就是对归纳做一个补充说明……
Unity中有很多attributes,如果你序列化过一个字段,那你肯定用过SerializeField,如果你扩展过编辑器,你很可能已经接触到RequireComponent
但是除了这些常见的,Unity还提供了其他一些在我看来很实用的attribute,下面是我做实际测试过的一些,当做是一个补充说明。
就按照老外文章的顺序来吧。
检视面板相关
现在的大部分文章,都在讲通过单独写一个类继承Editor来自定义检视面板,这样做肯定没有错,但是其实一部分功能完全可以通过下面这些attribute实现。
- [ToolTip(“我是描述”)]
有时候在检视面板中看到一个字段,在你鼠标停留在上面一段时间,或者光标输入字段值的时候,会弹出一段文字对这个字段进行描述。
我们的自定义类也可以有这样的文字描述,只要在字段上加上[ToolTip(“……”)]就可以。不过如果写中文的话,因为默认字体非常小,所以看得不是很清楚。 - [Space(10)]
在检视面板中被这个属性描述的字段,在它的上面会空出指定像素的空行,其实和EditorGUILayout.Space以及GUILayout.Space差不多。测试10像素效果就不错。 - [Header(“Health Settings”)]
会在字段上方显示一个标题,非常好使。截个图。
Header会自动排版增加一行空行,所以没必要额外写Space了。 - [Range(0,10)]
会将字段的值限制在指定的范围内,比如上面就是限制在0-10,并且检视面板会变成一个滑动条的形式。 - [Multiline]
标记string字段在检视面板里显示多行。默认是3行,也可以填入一个表示行数的参数。 - [TextArea(1,5)]
和Multiline很像,但是可以指定最小行数和最大行数,如果内容超过最大行数,会出现滚动条。 - [HideInInspector]
和字面意思一样,会在检视面板隐藏这个字段 - [SerializeField]
用这个attribute修饰的字段,会被序列化,关于序列化的详细内容可以参考官方文档。它也会在检视面板中看到,即使是private或者protected的变量也一样。 - [FormerlySerializedAs(“oldName”)]
在unity里,当一个序列化字段修改了名称,默认的该字段的序列化字段会丢失,如果结构不复杂,丢了无非是重新指定一次,但是如果序列化的数据结构很复杂,或者非常多,可以使用FormerlySerializedAs,参数是之前的字段名,这样可以起到既改名又保留了数据的作用。
和检视面板相关的特性就介绍到这里,其实官方还有更详细的描述,下一篇会介绍菜单和运行时相关的特性。
0 0
- 【马马虎虎系列】Unity的attributes大集合(1)
- 马马虎虎,结束数据库的复习
- unity 常用/有用attributes
- 【Unity】获取Xml中Attributes的描述文字
- Unity Editor 基础篇(七):Property Attributes自定义属性
- @property (attributes) 迷惑的attributes
- Unity——Attributes整理
- unity中的[xxxxxx]特性(Attributes)
- A Summary of Unity Attributes
- git马马虎虎
- Unity的优化系列1 - 图形优化
- 【精华分享】【Unity&独立游戏】有启发的游戏制作视频系列集合
- Unity问答系列1
- “网管员必读”系列大集合了!
- “网管员必读”系列大集合了!
- javaSE_8系列博客——集合——集合的接口(1)——概述
- Mysql的时间类型(大集合)
- Driver Attributes/Device Attributes 及作为linux的一种读写接口的用法(timed_output实例)
- Valid Parentheses
- 批处理自身%0的总结
- LeetCode 32 Longest Valid Parentheses 最大合法括号匹配长度计算 动态规划算法有待学习
- MFC的coredump文件以及调试
- std::function与std::bind 函数指针
- 【马马虎虎系列】Unity的attributes大集合(1)
- 2016年人人网笔试题
- 猴子分桃
- 将数组中的正负数就地归类
- 拓展的欧几里得算法
- 小白书之求无重复元素集合的子集
- java script5继承
- AngularJS进阶(三)HTML:让表单、文本框只读,不可编辑的方法
- 关于多属性查找问题的sphinx解决方案