ProtoPie AI 已上线——现已进入 Beta 版。了解更多

ProtoPie AI 已上线——现已进入 Beta 版。了解更多

菜单

Unity 插件

ProtoPie Connect 允许用户通过自定义图层集成嵌入 Unity 图层。ProtoPie Unity Package 是一个 Unity 插件,可使 ProtoPie 与 Unity 图层相互发送消息,从而实现两个平台之间的集成交互。

该 Unity 插件可免费下载和安装。但是,通过该插件添加 Unity 交互功能仅适用于Connect Enterprise用户。

点击此处下载 ProtoPie Connect Unity 插件

将 Unity 与 ProtoPie 集成的工作流程

为了对 ProtoPie 与 Unity 之间的集成交互进行原型设计,我们建议采用以下工作流程:

  1. 定义用于与 Unity 通信的消息集(映射表)。Pies 将通过 Send/Receive 功能使用消息与 Unity 交互。

    • 在 ProtoPie 中,Send 响应中的消息会触发 Unity 中的事件。当 Unity 向 ProtoPie 发送消息时,Receive 触发器中的消息将作为 ProtoPie 中相应响应的标识符。

  2. 为 Unity 项目安装 Unity 插件

  3. 定义 ProtoPie 消息与 Unity 事件之间的映射。

  4. 准备好联合测试时,将 Unity 场景导出为 WebGL 构建,并将构建文件作为源文件添加到 ProtoPie Connect 中的 Unity 图层。

  5. 根据所需布局排列 ProtoPie 与 Unity 图层,并在 ProtoPie Connect 的Stage View 中一起测试交互。

Unity 插件概览

  • 该插件作为包安装在 Unity 项目中,无需编写任何代码即可将 ProtoPie 消息与 Unity 事件进行映射。该插件可以以不干扰的方式添加到现有 Unity 项目中,不会干扰或破坏任何现有 Unity 组件。

  • 该插件通过在 Unity 场景中创建一个ProtoPie 对象并使用脚本组件Message Interaction(由该包提供)来工作。ProtoPie 对象负责将 ProtoPie 消息与 Unity 中的事件进行映射。由于 ProtoPie 对象处理了两个平台之间的所有映射,因此无需在其他地方自定义 Unity 代码即可实现此集成。

  • Message Interaction脚本组件中,需要为 Unity 场景分配一个映射表。映射表是 ProtoPie 与 Unity 之间使用的消息列表。分配映射表后,用户可以添加要在 Unity 场景中使用的Event(Unity)-Message(ProtoPie) Mappings

  • Event(Unity)-Message(ProtoPie) Mappings中,用户可以指定场景中要使用的消息映射、消息方向、Unity 中期望执行的操作、要回传给 ProtoPie 的值等。

Unity 插件安装与设置

  1. 在 Unity 项目中,安装 ProtoPie Unity 插件。

  2. 在 Unity 场景中,创建一个空对象并将其命名为“ProtoPie”。

    • 名称必须为“ProtoPie”(区分大小写),因为 ProtoPie Connect 使用该名称检测对象以进行消息交互

  3. 将“MessageInteraction.cs”(来自 ProtoPie Unity Package)脚本组件添加到ProtoPie 对象

  4. 选择 Add Component → Scripts → ProtoPie.Interaction → Message Interaction。


{'_type': 'localeString', 'en': 'Select Add Component → Scripts → ProtoPie.Interaction → Message Interaction'}
  1. MappingTable添加到 Message Interaction 组件中的Message Data字段。


{'_type': 'localeString', 'en': 'Add MappingTable to the Message Data field in the Message Interaction component. '}
  • MappingTable 本质上定义了 ProtoPie 与 Unity 之间要通信的消息集。

  • 它是一个 YAML 格式的配置文件,允许你指定标签、要传输的消息以及消息流向。

  • 映射表位于包文件夹中的 MappingTablet.asset 文件。你可以在此添加/删除/编辑消息映射列表中的条目。

  1. Unity 场景现已可与 ProtoPie Connect 一起使用。按下 Event(Unity)-Message(ProtoPie) Mappings 下的Add Mapping按钮,添加你的第一个映射。

Unity 插件中的消息映射


{'_type': 'localeString', 'en': 'message mapping'}

ProtoPie 与 Unity 图层通过消息通信,以在两者之间添加交互性。

要添加消息映射,请选择Add Mapping以定义要使用的映射。对于每个映射,你将能够从映射表(Message Data 字段中使用的那个)中选择一个已定义的映射 。

属性定义

  • Mapping Label:映射表中定义的映射标签或索引。

  • Message:在 ProtoPie 与 Unity 之间发送/接收的消息(或按socket.IO术语称为 messageID)。这将对应 ProtoPie 的 Send Response 和 Receive Trigger 中的消息。

  • Message Direction: 消息通信方向(ProtoPie 到 Unity、Unity 到 ProtoPie、双向、无)。

  • Desired Action (String):当 ProtoPie 向 Unity 发送相应消息时,应在 Unity 中执行的操作(方法/函数)(仅当 Message Direction 为 ProtoPie 到 Unity 和双向时适用)。


{'_type': 'localeString', 'en': 'message mapping'}
  • 用户应选择源对象以及执行该操作的方法。

  • 如果 ProtoPie 在发送消息时附带一个值,该值可以作为字符串参数传递给该操作(方法/函数)

  • 注意:'Static Parameters' 下的 'addCube(string)' 选项无法在运行时配置。相反,字符串值必须在构建项目之前于 Unity 编辑器中预先定义。

  • Event Object & Event to trigger message:将触发 Unity 向 ProtoPie 发送消息的 Unity 对象和事件(仅当 Message Direction 为 Unity 到 ProtoPie 和双向时适用)。

  • Value Source Object & Value to Send:(可选)当从 Unity 向 ProtoPie 发送消息时,可以通过消息的值向 ProtoPie 发送附加数据。Value Source ObjectValue to Send 属性定义了要回传给 ProtoPie 的数据类型。

  • 注意:插件将识别附加到源对象上的公共字符串变量。