[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示例项目的  

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值