Unity ECS 1.0.14 真・正式版的探索(二)
在本篇写至一半时,意外发现自己竟然忽略了 Unity 官方 ECS 案例的完整 Github Repo:
https://github.com/Unity-Technologies/EntityComponentSystemSamples
其中包含了 基础、图形、物理、网络 四大块,里面有几乎覆盖了所有需求的案例。非常全面,强烈建议读者把整个仓库拉下来学习,不要浪费时间在B站、知乎、CSDN网上四处找碎片教程了,因为里面给出的基本都是最佳实践。
于是官方案例中覆盖的部分我也没必要再画蛇添足重写一遍,直接上手跑范例的学习效率远胜于读文章。在接下来的时间我打算自己先尝试做自己的小项目,如果有官方未覆盖又比较棘手的部分将会分享。目前可以预见的是关于 DOTS 音效部分,在3年前 Unity 的演讲中有展示过非常复杂的实现,当时完全看不懂。
另外还有一个关于 ECS 物理 的提示,首先文档在这里:
https://docs.unity3d.com/Packages/com.unity.physics@1.0/manual/authoring.html
在 Prefab 或 Subscene 的物体上挂默认 Rigidbody 和 Collider 是无效的,默认不会自行转换。官方的建议是自己写 Authoring 脚本,组件和系统已经内置好了。但实际在 Unity 官方范例中,他们悄悄做了一套 ECS 专供的组件,例如 Physics Body 和 Physics Shape,平替 Rigidbody 和 Collider,但默认的 Physics Package 里并没有提供!
这几个组件编辑器中给 Prefab 挂上就能用,十分方便:


不确定为什么 Unity 没将这一部分内置,但如需要可以从官方范例中手动复制以下脚本文件夹到项目中:
PhysicsSamples/Assets/Samples/Unity Physics

因为 Unity 官方案例覆盖面足够广,能认真啃下来的话说 ECS 半精通也不为过。所以似乎暂时也没有继续写文章的动机了,更多估计只是补充一些细枝末节的东西。
下一篇可能直接是小项目实际开发的一个日志了,或者也可能烂尾?希望这次能坚持做完。
希望各位 ECS 开发顺利。