[Unity ECS] Entity交互方式选择 ComponentDataFromEntity vs Entity Command Buffer(ECB)

Posted u010019717

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Unity ECS] Entity交互方式选择 ComponentDataFromEntity vs Entity Command Buffer(ECB)相关的知识,希望对你有一定的参考价值。

实体互动的选择Options for Entity interaction - Unite Copenhagen 2019

必看的一个视频呀!

 

https://www.youtube.com/watch?v=KuGRkC6wzMY

https://www.slideshare.net/unity3d/options-for-entity-interaction-unite-copenhagen-2019

 

           交互是游戏的基础,包括玩家与游戏的交互方式和接收响应,以及游戏各部分之间的交互方式。Unity的Entities包为 编写系统提供了多种选择,在这些系统中,实体之间可以相互交流信息。本讲座介绍了这些选项,并说明了每种方法的利弊。观看它以获得使用Unity的实体组件系统(ECS)时选择代码策略的提示!主讲人:月神迈耶

        两个情景: 跟随, 按钮点击的事件处理:

 

 

         一种解决方法: 

 

        这样的代码肯定会导致将来的混乱。 

 

 

分析关系 Relationships:

       数据A 依赖数据B(前者的值依赖于后者)

就像追随示例,       追随者的速度依赖于 leader的相对位置。 

 

        按钮示例也是一样的,门的状态取决于 按钮。 

 

         下面两种情况的关系:

 

            也就是今天的主题其实不应该是 Options for Entity interaction, 而是 Options for Data Relationships 

 

实现我们数据关系的步骤:

  1. 理解数据的转换(输入,输出)
  2. 转换的成本,频率, 应用他
  3. 选择合适的工具

 

Practice makes  Perfect 实践使完美

        识别数据:

 

         识别域

 

         确定频率

 

 

           时间复杂度,空间复杂度。  (这个代码的成本相对较低)

 

     Recap概括一下。

 

           第一个通信的工具:   ComponentDataFromEntity 

 

 

         评价:

 

 

 

A word of caution - Writing  

谨慎一点 - Writing  操作 (安全性的考虑),  下面这种写法 可能会抛出异常。

   

             当然了这种安全性检测,你可以屏蔽掉, 使用   属性。 那么安全问题就是你自己负责。 

 

Write Relationships

 

 

Entity Command Buffer (ECB)

 

 

 

 

 

Read Relationships  VS  Write Relationships 

读, 高频时可以使用,   

写,低频时使用可以使用。

 

总结

什么是关系

 

 

           就是下面两个工具处理 交互。 对读友好(高频),对写友好(低频)

 

 

评论:

Lupod2周前(修改过)

对我来说,到目前为止Unite 2019上最重要,最有见地的演讲,谢谢!

特雷弗·麦克唐纳2周前

这是一个很棒而有用的谈话!这专门解决了我的问题和想法

Ciro Continisio2周前

好说!很高兴获得有关如何选择代码策略的思考技巧。。我真的很感激。谢谢。

 

             注意官方给的不对, ppt 是讲关于  FPS示例项目的  

 

 

以上是关于[Unity ECS] Entity交互方式选择 ComponentDataFromEntity vs Entity Command Buffer(ECB)的主要内容,如果未能解决你的问题,请参考以下文章

[Unity ECS]使用 Entity Command Buffers – Unite Copenhagen 2019

unity ECS简介

ET框架学习-ECS组件式编程的基本思想之于UNITY

DOTS简介

关于ECS(Entity-Component-System)游戏编程中数据访问控制的问题

ECS 系统 Entity-Component-System