实体互动的选择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)时选择代码策略的提示!主讲人:月神迈耶

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

unity的enter_unity的enter

 

 

         一种解决方法: 

unity的enter_unity的enter_02

 

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

 

 

分析关系 Relationships:

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

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

unity的enter_交互方式_03

 

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

unity的enter_抛出异常_04

 

         下面两种情况的关系:

unity的enter_数据_05

 

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

 

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

理解数据的转换(输入,输出)

转换的成本,频率, 应用他

选择合适的工具

unity的enter_unity的enter_06

 

Practice makes  Perfect 实践使完美

        识别数据:

unity的enter_数据_07

 

         识别域

unity的enter_unity的enter_08

 

         确定频率

unity的enter_unity的enter_09

unity的enter_数据_10

 

 

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

unity的enter_抛出异常_11

 

     Recap概括一下。

unity的enter_unity的enter_12

 

           第一个通信的工具:   ComponentDataFromEntity 

unity的enter_unity的enter_13

 

 

         评价:

unity的enter_抛出异常_14

 

unity的enter_抛出异常_15

 

 

A word of caution - Writing  

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

   

unity的enter_交互方式_16

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

unity的enter_unity的enter_17

 

Write Relationships

 

unity的enter_unity的enter_18

 

Entity Command Buffer (ECB)

unity的enter_数据_19

unity的enter_unity的enter_20

 

unity的enter_交互方式_21

 

unity的enter_数据_22

unity的enter_交互方式_23

 

 

 

Read Relationships  VS  Write Relationships 

读, 高频时可以使用,   

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

unity的enter_数据_24

 

总结

什么是关系

unity的enter_抛出异常_25

unity的enter_交互方式_26

 

 

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

unity的enter_unity的enter_27

 

 

评论:

Lupod2周前(修改过)

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

特雷弗·麦克唐纳2周前

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

Ciro Continisio2周前


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