ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

系统

2021-09-25 18:02:06  阅读:136  来源: 互联网

标签:系统 更新 Unity 实例 ECS ComponentSystemGroup


系统

系统,ECS中的S,提供了从其当前状态的分量数据变换到其下一个状态的逻辑-例如,一个系统可能更新所有移动实体可以通过速度自上次更新乘以所述时间间隔的位置.

实例化系统

Unity ECS 会自动发现项目中的系统类并在运行时实例化它们。它将每个发现的系统添加到默认系统组之一。您可以使用系统属性来指定系统的父组以及该系统在组内的顺序。如果您不指定父级,Unity 会以确定性但未指定的顺序将系统添加到默认世界的模拟系统组。您还可以使用属性来禁用自动创建。

系统的更新循环由其父ComponentSystemGroup驱动。ComponentSystemGroup 本身是一种专门的系统,负责更新其子系统。组可以嵌套。系统从它们运行的世界中获取它们的时间数据;时间由UpdateWorldTimeSystem更新。

您可以使用实体调试器窗口(菜单:窗口>分析>实体调试器)查看系统配置。

系统类型

Unity ECS 提供了多种类型的系统。通常,您编写的用于实现游戏行为和数据转换的系统将扩展SystemBase。其他系统类有专门的用途。您通常使用EntityCommandBufferSystemComponentSystemGroup类的现有实例。

  • SystemBase——创建系统时要实现的基类。
  • EntityCommandBufferSystem --为其他系统提供EntityCommandBuffer实例。每个默认系统组在其子系统列表的开头和结尾处维护一个实体命令缓冲区系统。这允许您对结构更改进行分组,以便它们在帧中产生较少的同步点
  • ComponentSystemGroup——为其他系统提供嵌套组织和更新顺序。Unity ECS 默认创建多个组件系统组。
  • GameObjectConversionSystem -- 将游戏的基于游戏对象的编辑器内表示转换为高效的、基于实体的运行时表示。游戏转换系统在 Unity 编辑器中运行。

重要提示:本ComponentSystemJobComponentSystem类,随着IJobForEach,被淘汰的DOTS API,但都没有得到官方还没有过时。改用SystemBaseEntities.ForEach

标签:系统,更新,Unity,实例,ECS,ComponentSystemGroup
来源: https://www.cnblogs.com/alps/p/15334979.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有