Unityプラグイン
ProtoPie Connectを使えば、カスタムレイヤー統合機能によってUnityレイヤーを埋め込むことができます。ProtoPie Unityパッケージは、ProtoPieとUnityレイヤー間の相互メッセージ送信を実現するUnityプラグインで、両プラットフォームを統合したインタラクションを可能にします。
このUnityプラグインは、無料でダウンロードしてインストールできます。ただし、プラグインを介したUnityのインタラクション機能の追加は、Connect Enterpriseをご契約のお客様限定となります。
こちらをクリックしてProtoPie Connect Unityプラグインをダウンロードしてください。
ProtoPieとUnityを統合するためのワークフロー
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 Connectは、メッセージインタラクション用のオブジェクトを検出する際に大文字と小文字を区別して名前を識別するため、名前は必ず「"ProtoPie"」にしてください。
「MessageInteraction.cs」(ProtoPie Unityパッケージ内)スクリプトコンポーネントをProtoPieオブジェクトに追加します。
「Add Component」→「Scripts」→「ProtoPie.Interaction」→「Message Interaction」を選択します。

Message InteractionコンポーネントのMessage DataフィールドにMappingTableを追加します。

マッピングテーブル(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(送信)レスポンスおよびReceive(受信)トリガー内のメッセージに対応します。
Message Direction: メッセージ通信の方向です(ProtoPieからUnity、UnityからProtoPie、双方向(Both Ways)、なし(None))。
Desired Action (String): ProtoPieが対応するメッセージをUnityに送信したときに、Unity側で実行されるべきアクション(メソッド/関数)です(「Message Direction」が「ProtoPie to Unity」または「Both Ways」の場合にのみ適用されます)。

ユーザーはソースオブジェクトと、アクションを実行するメソッドを選択する必要があります。
ProtoPieがメッセージとともに関連する値(値タイプ:文字列)を送信する場合、その値はアクション(メソッド/関数)にStringパラメーターとして渡すことができます。
注意:「Static Parameters」にある「addCube(string)」オプションは、実行時には設定できません。代わりに、プロジェクトをビルドする前にUnityエディター内で文字列の値を事前に定義しておく必要があります。
Event Object & Event to trigger message: UnityがProtoPieにメッセージを送信するトリガーとなるUnityオブジェクトおよびイベントです(「Message Direction」が「Unity to ProtoPie」または「Both Ways」の場合にのみ適用されます)。
Value Source Object & Value to Send: (オプション)UnityからProtoPieにメッセージを送信する際、メッセージの値を介して追加のデータをProtoPieに送信できます。Value Source ObjectとValue to Send属性は、ProtoPieに送り返すデータの種類を定義します。
注意:プラグインは、ソースオブジェクトに追加されたパブリック文字列(public string)変数を認識します。