最近DOTS发布了正式的版本, 我们来分享一下DOTS里面Aspect机制,方便大家上手学习掌握Unity DOTS开发。
Aspect 机制概述
当我们使用ECS开发的时候,编写某个功能可能需要某个entity的一些组件,如果我们一个个组件的查询出来,可能参数会写很长。如果我们编写某个功能的时候,需要entity的一些组件的引用,我们如何高效的来获得呢?Unity DOTS引入了Aspect机制。
对惹,这里有一个游戏开发交流小组,大家可以点击进来一起交流一下开发经验呀!
Aspect是一个特殊的数据结构,可以把它理解为是entity中一些组件的引用Wrapper”包装盒”,把entity中的一些组件的引用包含在一起。方便在System中通过这个Aspect来获取entity当中的组件的引用,高效方便的访问entity中的一些组件数据。定义一个Aspect, 需要继承自Iaspect Interface, Aspect里面的成员可以包含以下的内容:
- Entity类型的引用;
- RefRW<T> 与RefRO<T>组件数据的引用;
- EnabledRefRW