unity ECS学习(1)

终于开始正儿八经的ECS的学习了,让我们开始吧。

ECS之Entity

Entity是什么呢,Entity相当于是一个Id,但是这个Id可以挂载各种Component。那这个Id是如何获取到的呢?这个时候咱们要引入另一个知识点——subScene。

subScene

subScene是什么?

subScene是一个子场景,在这个场景下的物体会被编译成Entity。

创建subScene?

打开要添加子场景的场景。
在 Hierarchy 窗口中,单击鼠标右键并选择 New Sub Scene > Empty Scene。
要从现有游戏对象创建子场景,请执行以下操作:

打开包含要从中创建子场景的游戏对象的场景。
在 Hierarchy 窗口中,选择要移动到新子场景的游戏对象。
在同一窗口中,单击鼠标右键,然后选择“从所选内容中>新建子场景”。
要将现有子场景添加到场景中:

打开要添加子场景的场景。
创建一个空的游戏对象。
添加 SubScene 组件。
在 SubScene 组件中,将 Scene Asset 属性设置为要用作子场景的场景。

subScene组件

SubScene 组件是一个 Unity 组件,用于触发引用场景的烘焙和流式处理。
“Auto Load Scene”:自动读取场景字段,请勾选。
SubScene 组件有两种模式,具体取决于子场景是打开还是关闭。
在 Hierarchy 窗口中,启用或禁用子场景名称旁边的复选框。
选择一个子场景,检查器在“打开子场景”下选择“打开/关闭”。

打开:在 Hierarchy 窗口中,Unity 在具有 SubScene 组件的游戏对象下显示子场景中的所有创作游戏对象。
场景视图根据“首选项”窗口的“实体”部分中的“场景视图模式”设置显示运行时数据(实体)或创作数据(游戏对象)。
初始烘焙通道在子场景中的所有创作组件上运行。
对创作组件所做的任何更改都会触发增量烘焙过程

关闭:Unity 将流式传输烘焙场景的内容。当您进入播放模式时,封闭子场景中的实体需要几帧才能可用。在构建中,子场景的行为与编辑器中关闭的子场景相同,因此其实体不会立即可用。

[!重要] Unity 不会流式传输打开的子场景的内容。当您进入播放模式时,打开子场景中的实体会立即可用。
subScene结束。

Entity Hierarchy 窗口

Windows ->Entity ->Hierarchy
用来查看Entity的Id和挂载的对应Componemt

已经这么多了啊,那就先到这好了233333

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Unity ECS(Entity Component System)是Unity引擎的一种编程范式,它是一种数据驱动的编程模型,它将游戏对象(Entity)分解为数据和行为两个部分,其中数据由组件(Component)来表示,行为则由系统(System)来实现。相对于传统的面向对象编程模型,ECS提供了更高效、更灵活的编程方式,可以有效地提高游戏的性能和扩展性。 下面是我学习Unity ECS时的笔记: ## Entity Entity是ECS中最基本的概念,它表示游戏对象。每个Entity由一个唯一的ID来标识,可以通过EntityManager来创建、销毁、查询和管理Entity。 ## Component Component是Entity的数据部分,用来描述Entity的属性和状态。每个Component包含一些数据成员和一些方法,用来操作这些数据成员。Component是以结构体(struct)的形式定义的,通常只包含数据成员,不包含方法。 ## System System是Entity的行为部分,用来实现游戏逻辑和操作Component。System可以访问和操作EntityManager和Component,但不能直接访问Entity。每个System包含一个或多个Component,表示它所处理的数据类型。System是以类(class)的形式定义的,通常包含一个Update方法,用来实现游戏逻辑。 ## Job Job是一种轻量级的线程,用于并行执行System中的任务。Job可以访问和操作Component,但不能直接访问Entity和EntityManager。Job通常是以结构体(struct)的形式定义的,不包含方法。 ## Archetype Archetype是Entity的集合,包含一组具有相同Component类型的Entity。Archetype可以用来优化数据的访问和处理,可以在不同的System之间共享。 ## Chunk Chunk是Archetype中的数据块,包含一组连续的Entity和它们的Component数据。Chunk可以用来优化内存的分配和访问,可以在Job中进行并行处理。 ## Buffer Buffer是一种Component类型,用来存储可变长度的数据,例如数组或列表。Buffer可以在System和Job中进行修改和访问。 以上是我学习Unity ECS时的笔记,希望对你有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值