Unity のクラスターの展開
API

クラスターレンダリングの入力

入力をマスターノードからクライアントノードすべてに伝えるには、クラスターレンダリングネットワークを設定する必要があります。このためには、Cluster Input Settings を設定し、VRPN サーバーを使用して、入力をすべてのクライアントノードに送ります。

Cluster Input Manager

通常の入力すべてに対し、Cluster Input Manager 設定で入力マッピングを定義する必要があります。Project setting > Cluster Input メニューで行ってください。

プロパティー 説明
Size クラスター入力エントリーの数。
Name エントリーの一意の名前。スクリプト内で、各エントリーを認識するために使用。
Device Name VRPN サーバーに登録されたデバイスの名前。
Server URL VRPN に接続するための URL。ローカルでサーバーをスタートした場合は、通常は「localhost」。
Index 入力エントリーが接続すべき機器のインデックス/チャネル。
Type 入力タイプ。
- Button 押したり放したりしたときに、バイナリの値を返す。
- Axis float 型の継続的な値を提供するアナログ軸。
- Tracker 位置と方向の値を提供する。
- CustomProvidedInput ユーザーによってカスタム化された入力。

Cluster Input Manager 設定に入力したすべてのエントリーには、ClusterInput クラス を使用したスクリプトを通じてアクセスできます。使用法は、Unity の通常の Input クラスと似ています。API で各フレームの入力状態を読むことができ、操作することができます。詳しくは、スクリプトリファレンスの ClusterInput を参照してください。

VRPN サーバー

ClusterInput クラスから入力を読み込むプロジェクトの場合は常に、適切な機器と接続し作動するVRPN サーバーが必要です。VRPN 機器は、その名前と URL で識別されます。通常は、TrackerA@localhost のような完全な形の URL が使われます。TrackerA は機器名、localhost は VRPN 設定で定義されたサーバー URL です。

VRPN に関する詳細は、以下の Web サイトを参照してください。http://www.cs.unc.edu/Research/vrpn/

プロジェクトで ClusterInput クラスを使用せず、カスタム化したインプット のみ (以下を参照) を使用する場合は、VRPN サーバーは必要ありません。

カスタム化した入力

Unity の C++ プラグインを書いて、機器メーカーの SDK を直接利用している入力機器を統合したい場合があるでしょう。プラグインは、interop services を利用して、プロジェクトの C# 側に値を渡します。このような場合、入力はクラスターの残り部分とは同期されません。この橋渡し役として ClusterInput のコマンドセットは、カスタム化された入力値を複製し、クラスター全体に配布します。

これを行うために、Cluster Input インスペクターで Input を作成、設定し、Type を "User Provided Input" にします。クラスターのマスターノードで、統合した機器から得た入力値にいつも通りポーリングし、以下の API のうちの 1つを使用して Input に送ります。

この値は、残りのクラスターとマスターノードでも使用可能になります。

Unity のクラスターの展開
API