Zinnia
一系列解决常见问题的设计模式集合。
[zin-ee-uh]
[![发布][Version-Release]][Releases] [![许可证][License-Badge]][License] [![待办事项][Backlog-Badge]][Backlog]
简介
Zinnia是一系列适用于[Unity]软件的设计模式集合,对空间计算开发(但不限于此)有益。
要求 Unity软件版本为
2018.3.10f1
(或更高版本)。
入门指南
设置项目
- 使用Unity软件版本
2018.3.10f1
(或更高版本),创建一个新的3D模板项目或打开现有项目。 - 确保项目的
Scripting Runtime Version
设置为.NET 4.x Equivalent
。- 在Unity软件中选择
主菜单 -> 编辑 -> 项目设置
以打开项目设置
检查器。 - 在
项目设置
窗口的左侧菜单中选择Player
。 - 在
Player
设置面板中展开Other Settings
。 - 确保
Scripting Runtime Version
设置为.NET 4.x Equivalent
。
- 在Unity软件中选择
将包添加到Unity项目清单中
-
导航到项目的
Packages
目录。 -
在文本编辑器中调整[项目清单文件][Project-Manifest]
manifest.json
。- 确保
https://registry.npmjs.org/
是scopedRegistries
的一部分。- 确保
io.extendreality
是scopes
的一部分。
- 确保
- 在
dependencies
中添加io.extendreality.zinnia.unity
,指定最新版本。
最小示例如下所示。请注意,此处显示的版本
X.Y.Z
应替换为[最新发布版本][Latest-Release],当前版本为[![发布][Version-Release]][Releases]。{ "scopedRegistries": [ { "name": "npmjs", "url": "https://registry.npmjs.org/", "scopes": [ "io.extendreality" ] } ], "dependencies": { "io.extendreality.zinnia.unity": "X.Y.Z", ... } }
- 确保
-
切回Unity软件,等待其完成导入新添加的包。
运行测试
如果您想运行Zinnia附带的测试,请按以下步骤操作。
由于Zinnia是一个包,在测试运行器可以识别之前,必须明确为此包启用测试。
-
导航到项目的
Packages
目录。 -
在文本编辑器中调整[项目清单文件][Project-Manifest]
manifest.json
。- 确保
io.extendreality.zinnia.unity
是testables
的一部分。
最小示例如下所示。
{ "scopedRegistries": [ ... ], "testables": [ "io.extendreality.zinnia.unity" ], "dependencies": { ... } }
- 确保
-
如[官方Unity文档][Enable-Tests]所述:
注意:您可能需要重新导入包,因为测试框架并不总是立即识别
testables
属性的更改。- 在Unity软件的
项目
窗口中展开Packages
节点。 - 右键单击
Zinnia.Unity
子节点并选择重新导入
。 - 等待Unity软件完成重新导入包。
- 在Unity软件的
-
在Unity软件中选择
主菜单 -> 窗口 -> 测试运行器
。 -
在测试运行器窗口中点击
PlayMode
标签,然后点击运行所有
按钮。 -
如果所有测试都通过,则安装成功。
注意:测试与
在播放器中运行所有
选项不兼容。
更新到最新版本
一旦完成上述步骤,该包将显示在Unity Package Manager UI中。之后,可以通过在Unity Package Manager中选择该包并点击"Update"按钮或使用版本选择UI来更新包。
脚本定义符号
Zinnia包含一系列自定义脚本定义符号,可以影响其提供的功能:
ZINNIA_IGNORE_CUSTOM_COLLAPSIBLE_DRAWER
- 禁用检查器窗口中的可折叠事件抽屉功能。ZINNIA_IGNORE_CUSTOM_INSPECTOR_EDITOR
- 禁用自定义zinnia检查器,该检查器会在检查器中更改属性值时自动更新。ZINNIA_IGNORE_CUSTOM_LIST_EDITOR
- 在任何Unity版本中禁用自定义可观察列表编辑器。ZINNIA_IGNORE_PIPELINE_MATERIALS
- 防止PipelineMaterialApplier
更新材质以匹配当前渲染管线模式。ZINNIA_USE_CUSTOM_LIST_EDITOR
- 在Unity 2020.3或更高版本中强制使用自定义可观察列表编辑器。ZINNIA_USE_ISACTIVEANDENABLED
- 决定在调用CheckIsActiveAndEnabled
方法时是使用behaviour.isActiveAndEnabled
属性,还是使用更健壮的behaviour.gameObject.activeInHierarchy && behaviour.enabled
。
命名
灵感来自[百日菊]属植物,以其色彩鲜艳、持久的花朵和易于从种子生长而闻名。这个仓库,就像百日菊一样,旨在易于使用,让您的项目能够成长并茁壮成长为长期的、易于维护的解决方案。
有趣的事实: 百日菊曾在[国际空间站]上种植,并展示了在无重力环境中开花的能力。
贡献
请参考Extend Reality的[贡献指南]和[Unity项目编码规范]。
行为准则
请参考Extend Reality的[行为准则]。
许可证
代码根据[MIT许可证][License]发布。
免责声明
这些材料不由Unity Technologies或其附属公司赞助或与之有关。"Unity"是Unity Technologies或其在美国和其他地方的附属公司的商标或注册商标。