unity dots学习资料

学习资料

参考
1.https://learn.unity.com/tutorial/entity-component-system#5c7f8528edbc2a002053b676
2.https://docs.unity3d.com/Packages/com.unity.entities@1.0/manual/index.html
3.https://huanime.com.cn/post/tutounity-dots-ru-men-zhi-nan/

什么是DOTS?

Unity的多线程式数据导向型技术堆栈(DOTS)是若干技术的融合。这些技术相互配合,共同为Unity提供面向数据的编码方法。这样就可以构建更适合目标硬件、性能也更高的项目。
DOTS包含以下元素:
1.实体组件系统(ECS) - 提供使用面向数据的方法进行编码的框架。它通过Entities软件包进行分发,您可以通过Package Manager来添加编辑器。
2.C#作业系统 - 提供一种生成多线程代码的简单方法。它通过Jobs软件包进行分发。
3.Burst编译器 - 可生成快速、优化的本机代码。它通过Burst软件包进行分发,可通过Package Manager在编辑器中使用。
4.本机容器 - 属于ECS数据结构,可提供对内存的控制。

元素1-3通常被称为DOTS的三个支柱,可作为单独的Unity软件包使用。它们共同构成了交付面向数据的高性能解决方案的基础。

Entities代表component的集合
Component代表数据
System表示对数据的操作

使用ECS

unity版本2022.2以上
1.packageManager安装

  • com.unity.entities
  • com.unity.entities.graphics (for rendering entities)
  • com.unity.collections (unmanaged collection types)
  • com.unity.physics (for collision detection and physical simulation of entities)
  • com.havok.physics (alternative Havok-provided “backend” for physics)
  • com.unity.netcode (for entities-driven server-client multiplayer)

2.在unity中设置
Edit > Project Settings > Editor 菜单, 勾选 Enter Play Mode Options , 不勾 Reload Domain 、Reload Scene boxes
3.entities
entities的集合存储在World中,world的EntityManager管理所有的entities。EntityManager 包含了create, destroy, 修改entities 的方法,
在这里插入图片描述
4.component
component包含system需要的所有数据(只能包含非托管数据),不包含方法。用struct声明component类型,继承IComponentData接口
在这里插入图片描述

5.system
system提供componentData从一个状态到另一个状态的转变。系统每帧在主线程上运行一次。System被组织成system groups的层次结构,您可以使用这些system groups来组织系统更新的顺序。

您可以在实体中创建非托管或托管系统。要定义托管系统,请创建一个继承自SystemBase. 要定义非托管系统,请创建一个继承自 的结构ISystem。有关详细信息,请参阅: 系统概述

和ISystem都有SystemBase三种可以覆盖的方法:OnUpdate,OnCreate和OnDestroy. 系统的OnUpdate方法每帧执行一次。

DOTS在项目中的实际运用

1.https://www.youtube.com/watch?v=IO6_6Y_YUdE
2.https://www.youtube.com/watch?v=IO6_6Y_YUdE

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值