Version: 2017.2
部署 Unity 集群
API

集群渲染的输入

必须设置集群渲染网络,以便将主节点的输入传递到所有客户端节点。为此,必须设置集群输入设置 (Cluster Input Settings),并使用 VRPN 服务器将该输入发送到所有客户端节点。

集群输入管理器 (Cluster Input Manager)

对于所有正常输入,必须在集群输入管理器设置中定义输入映射。此设置位于 Project setting > Cluster Input 菜单中。

属性: 功能:
Size 集群输入条目数量
Name 此条目的唯一名称。在脚本中用于标识每个条目。
Device Name 注册到 VRPN 服务器的设备名称。
Server URL 要连接到 VRPN 的 URL。如果服务器在本地启动,通常为“localhost”。
Index 此输入条目要连接到的设备的索引/通道。
Type 输入的类型。
- Button 返回“已按”或“未按”的二进制结果的设备。
- Axis 设备是一个模拟轴,提供由浮点数表示的连续值。
- Tracker 用于提供位置和方向值的设备。
- CustomProvidedInput 用户自定义输入。

可通过 ClusterInput 类从脚本访问输入到集群输入管理器设置中的所有条目。与 Unity 的常规 Input 类的用法非常相似;您可以使用 API 读取每帧的输入状态并对其进行操作。请参阅 ClusterInput 脚本参考中的示例。

VRPN 服务器

只要有项目从 ClusterInput 类读取输入,VRPN 服务器就必须存在并在连接正确设备的情况下运行。VRPN 设备由其名称和 URL 标识。通常,完整形式的 URL 类似于 TrackerA@localhost。其中,TrackerA 是设备名称,localhost 是 VRPN 设置中定义的服务器 URL。

有关 VRPN 的更多信息,请访问此网站:http://www.cs.unc.edu/Research/vrpn/

如果项目不使用 ClusterInput 类,而使用自定义输入(见下文),则不需要 VRPN 服务器。

自定义输入

有时可能希望通过编写 Unity C++ 插件直接使用设备制造商的 SDK 来集成输入设备。然后,此插件会使用互操作服务将值传递到项目的 C# 端。在这种情况下,输入将不会同步到集群的其余部分。为了解决这个问题,ClusterInput 提供了一组命令,可以捕获这些自定义输入值并复制到整个集群中。

为此,必须在 Cluster Input Inspector 中创建和配置输入,并将 Type 设置为 User Provided Input。在集群的主节点上,像往常一样轮询来自集成设备的输入值,并使用以下 API 之一将它们发送到这些输入:

然后,这些值将可用于集群的其余部分以及主节点。

部署 Unity 集群
API