搜索 Unity

Odin:制作工具的工具

2021年9月16日 类别 游戏 | 5 分 阅读
Odin
Odin

Unity验证解决方案合作伙伴(VSP)Odin提供有一整套提高生产力的产品。Odin Inspector是一款强大、使用简单的定制化代码编辑器,其带有超过一百多种属性可极大地加快开发流程,无须用户自行编写编辑器代码;Odin Serializer是一款强大、可拓展的序列化工具;Odin Validator则能扫描出潜藏着的问题,所有这些都能为你最具野心的项目出一份力。 

那要怎样才能充分利用起Odin的力量呢?本文将介绍五条Odin的使用技巧,在学会它们后,你就可以节省开发时间、最大化效率,并提高流程效率。

Menu 6

用属性分组功能整理检视器

如果脚本带有大量的变量,检视器很容易会变得错综复杂,更遑论整洁美观。但奥丁的Groups(分组)功能可以解决这个问题。你可以使用功能根据一定的相关性将属性分类,再以多种形式排列(如标签选框、下拉菜单、多属性栏),从而做到检视器整洁有条例。

那分组功能是怎么使用的呢?你可以为代码加上相同名称的属性,把相互关联的代码段划分在一起。下方GIF截图演示了Odin属性分组功能的效果:

Menu 5

在属性中直接编写C#语句

Odin的许多属性都支持用字符串来引用其它方法或C#语句,你可以非常快速地在检视器上加入一些基本的逻辑。

属性表达式以"@"符号开头,以字符串编写,非常灵活。它们支持为Odin的任意属性字段添加自定义逻辑和行为,无须编写额外代码。下方例子展示了属性表达式有多么便利:

C# expressions

使用验证属性规避Bug

中途加入的团队成员如果不清楚某个组件的背后逻辑,则很可能会修改出一些莫名其妙的变量,或者忽略掉某些关键的变量。为了解决这个问题,开发者一般会编写一个使用方便的自定义编辑器来方便修改。

Odin带有许多定制编辑器的属性,可帮助开发者快速解决此类问题。下方GIF截图展示了部分常见的编辑器定制属性,如ChildGameObjectsOnlyValidateInput和Required

Validation attributes to avoid introducing bugs

你甚至可以为项目设定全局验证规则,Odin Inspector会根据规则进行更新。

所有这些功能的基石便是Odin Validator插件。该插件会定期提示你扫描项目,为每一个待解决的错误发出警告信息。假设某个资源在项目中有上千个实例,而你又错误地修改了资源,Odin Validator将帮助你检测、标记和纠正每一处错误。

使用属性创建自定义编辑器窗口

Odin共有两个类可以继承:OdinEditorWindow和OdinMenuEditorWindow。这里,我们将重点讨论OdinEditorWindow。

无论是想查看项目概览、处理大量数据,还是想创建自定义工具,OdinEditorWindow都能大大简化你的工作流程。

具体来说,OdinEditorWindow支持让脚本在单个继承类中访问整个Odin绘制系统。与EditorWindow相比,OdinEditorWindow可以更高效地渲染字段、属性和方法,无须用户编写任何GUI代码。下方GIF截图展示了工具的使用有多么简单明了:

Menu 3

使用SerializedScriptableObject序列化多型数据结构

Unity一直以来使用的是简单高效的序列化方法。然而,类似字库、继承和委托等特殊用例需要,甚至必须使用复杂的数据结构和功能。 

Odin Serializer支持将结构保存和渲染至检视器,方便你规划那些复杂元素。实际上,你可以用[SerializeReference]在检查器中应用最新的多型(继承)序列化功能。下方例子展示了工具的部分序列化和检查器的功能:

Menu 1

Odin的多款工具可以切实提高你的生产力、改善任意项目的工作流程。希望这些建议能帮到各位Odin用户,并恳请大家持续关注Odin的功能更新,包括最近发布的Validator主要更新。

若想立即上手Odin,请访问Unity Asset Store购买许可证,企业级解决方案请在此处了解。更多使用技巧请访问Odin YouTube频道

2021年9月16日 类别 游戏 | 5 分 阅读
相关文章