Unity 插件
ProtoPie Connect 允许用户通过自定义图层集成嵌入 Unity 图层。ProtoPie Unity Package 是一个 Unity 插件,可使 ProtoPie 与 Unity 图层相互发送消息,从而实现两个平台之间的集成交互。
该 Unity 插件可免费下载和安装。但是,通过该插件添加 Unity 交互功能仅适用于Connect Enterprise用户。
点击此处下载 ProtoPie Connect Unity 插件。
将 Unity 与 ProtoPie 集成的工作流程
为了对 ProtoPie 与 Unity 之间的集成交互进行原型设计,我们建议采用以下工作流程:
定义用于与 Unity 通信的消息集(映射表)。Pies 将通过 Send/Receive 功能使用消息与 Unity 交互。
在 ProtoPie 中,Send 响应中的消息会触发 Unity 中的事件。当 Unity 向 ProtoPie 发送消息时,Receive 触发器中的消息将作为 ProtoPie 中相应响应的标识符。
为 Unity 项目安装 Unity 插件。
定义 ProtoPie 消息与 Unity 事件之间的映射。
准备好联合测试时,将 Unity 场景导出为 WebGL 构建,并将构建文件作为源文件添加到 ProtoPie Connect 中的 Unity 图层。
根据所需布局排列 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 插件安装与设置
在 Unity 项目中,安装 ProtoPie Unity 插件。
在 Unity 场景中,创建一个空对象并将其命名为“ProtoPie”。
名称必须为“ProtoPie”(区分大小写),因为 ProtoPie Connect 使用该名称检测对象以进行消息交互
将“MessageInteraction.cs”(来自 ProtoPie Unity Package)脚本组件添加到ProtoPie 对象。
选择 Add Component → Scripts → ProtoPie.Interaction → Message Interaction。

将MappingTable添加到 Message Interaction 组件中的Message Data字段。

MappingTable 本质上定义了 ProtoPie 与 Unity 之间要通信的消息集。
它是一个 YAML 格式的配置文件,允许你指定标签、要传输的消息以及消息流向。
映射表位于包文件夹中的 MappingTablet.asset 文件。你可以在此添加/删除/编辑消息映射列表中的条目。
Unity 场景现已可与 ProtoPie Connect 一起使用。按下 Event(Unity)-Message(ProtoPie) Mappings 下的Add Mapping按钮,添加你的第一个映射。
Unity 插件中的消息映射

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 和双向时适用)。

用户应选择源对象以及执行该操作的方法。
如果 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 Object 和 Value to Send 属性定义了要回传给 ProtoPie 的数据类型。
注意:插件将识别附加到源对象上的公共字符串变量。
