MenuToggle Menu

Unity 插件

ProtoPie Connect 允许用户通过自定义图层集成 (Custom Layer Integrations) 嵌入 Unity 图层。ProtoPie Unity 软件包是一个 Unity 插件,能让 ProtoPie 和 Unity 图层相互发送消息,实现两个平台之间的集成互动。

该 Unity 插件可免费下载和安装。不过,通过该插件添加 Unity 互动功能仅限 Connect 企业版用户使用。如果您是企业版用户,并希望在官方发布之前试用 ProtoPie Unity 软件包,请联系enterprise@protopie.io。

即将推出: ProtoPie Unity 软件包即将可以在 Unity Asset Store 下载。

将 Unity 与 ProtoPie 集成的工作流程

如想在 ProtoPie 和 Unity 之间建立集成交互型,工作流程如下:

1. 定义用于与 Unity 通信的消息集 (映射表)。Pies 将通过使用发送/接收功能与 Unity 进行交互。

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

2. 在 Unity 项目中,安装 Unity 插件(ProtoPie Unity 软件包)。

3. 在 Unity 场景中,定义 ProtoPie 消息和 Unity 事件之间的映射关系。

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

5. 按照所需的布局排列 ProtoPie 和 Unity 图层,并在 ProtoPie Connect 的 “舞台视图 ”上一起测试交互。

Unity 插件概述

  • 该插件作为一个软件包安装在 Unity 项目中,无需编写任何代码即可将 ProtoPie 消息映射到 Unity 事件。该插件可以不引人注目的方式添加到现有的 Unity 项目中,并且不会干扰或破坏任何现有的 Unity 组件。
  • 该插件的工作原理是在 Unity 场景中创建一个 ProtoPie 对象,并利用脚本组件 “消息交互”(由软件包提供)。ProtoPie 对象负责将 ProtoPie 消息与 Unity 中的事件进行映射。由于 ProtoPie 对象负责处理两个平台之间的所有映射,因此无需在其他地方自定义 Unity 代码即可实现集成。
  • “消息交互” 脚本组件中,用户可以指定要与 Unity 场景一起使用的映射表。映射表本质上是一组ProtoPie和Unity之间使用的消息列表。一旦分配了映射表,用户就可以在 Unity 场景中添加要使用的事件(Unity)-消息(ProtoPie)映射
  • 事件(Unity)-消息(ProtoPie)映射中,用户可以指定要在场景中使用的消息映射、消息方向、Unity 中所需的操作、要发送回 ProtoPie 的值等。

Unity 插件的安装和设置

1. 在 Unity 项目中,安装 ProtoPie Unity 软件包

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

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

3. 在 ProtoPie 对象中添加 “MessageInteraction.cs”(来自 ProtoPie Unity 软件包)脚本组件。

4. 选择添加组件 → 脚本 → ProtoPie.Interaction → 消息交互

[object Object]

4. 在 “消息交互”组件的 “消息数据”字段中添加 MappingTable

[object Object]
  • 映射表(MappingTable)实质上定义了要在 ProtoPie 和 Unity 之间传输的消息集。
  • 它是一个 YAML 格式的配置文件,允许你指定标签、要传输的信息和信息流的方向。
  • 映射表位于名为 MappingTablet.asset 的软件包文件夹中。在这里,可以添加、删除、编辑报文映射表中的条目。

5. 现在,Unity 场景已准备好与 ProtoPie Connect 搭配使用。通过在事件(Unity)-消息(ProtoPie)映射下按下 “添加映射” 按钮来添加第一个映射。

Unity 插件中的消息映射

[object Object]

ProtoPie 和 Unity 图层通过消息进行通信,以增加它们之间的交互性。

要添加消息映射,请选择 “添加映射”(Add Mapping)来定义要使用的映射。对于每个映射,你将能够从映射表中选择一个已定义的映射(在消息数据字段中使用的映射)。

属性定义

  • 映射标签:映射表中定义的映射的标签或索引。
  • 消息: 要在 ProtoPie 和 Unity 之间发送/接收的消息(或用 socket.IO 术语表示的消息 ID)。这将与 ProtoPie 的 “发送响应”(Send Response)和 “接收触发”(Receive Trigger)中的消息相对应。
  • 消息方向: 消息通信的方向(ProtoPie 至 Unity、Unity 至 ProtoPie、双向、无)。
  • 期望操作(字符串): 当 ProtoPie 向 Unity 发送相应消息时,应在 Unity 中执行的操作(方法/函数)(仅适用于消息方向为 ProtoPie 至 Unity 和双向)。
[object Object]
  • 用户应同时选择源对象和执行操作的方法。
  • 如果 ProtoPie 在发送消息的同时还发送了一个值,该值可以作为字符串参数传递给操作(方法/函数)
  • 注意:“静态参数 ”下的 “addCube(string) ”选项运行时不可配置。相反,字符串值必须在构建项目之前在 Unity 编辑器中预定义。
  • 触发消息的事件对象和事件:将触发 Unity 向 ProtoPie 发送消息的 Unity 对象和事件(仅在消息方向为 Unity 至 ProtoPie 和双向时适用)。
  • 值源对象和要发送的值:(可选)从 Unity 向 ProtoPie 发送消息时,可通过消息的值向 ProtoPie 发送附加数据。值源对象(Value Source Object)发送值(Value to Send)属性定义了要发送回 ProtoPie 的数据类型。
    • 注:插件将识别附加到源对象的公共字符串变量。
Back To Top