簡易的な物であれば建築分野用のVRデモなどを実装することもできます。今回は、VR特化のノードについて、用途ごとに以下にまとめてみることにします。Vive)用のノードを例にして挙げていますが、StingrayにはOculus/GoogleVR/GearVR用のノードもあります。どのHMDでも内容はほぼSteamVRと同一の為、割愛します。Vive』テンプレートを選択しないと、下記のノードが使用できません。処理を分岐させています。ボタンの割り当てはViveの公式ドキュメントを参考にしてください。『Released』はボタンから指を離した時にそれぞれ呼ばれます。『Value』は入力の状態を0~1の範囲で返します。(指を離している時が0、完全に押し込んだ時が1。)以下はトリガーの入力の範囲をログに出力するサンプルです。画像のようにノードを接続しています。Right』までをより詳細にしたノードです。Buttonの方と同じ、『Pressed』『Held』『Released』の他、タッチパッドに触れている間呼ばれ続ける『Touched』とタッチパッドから指を離したときに呼ばれる『Untouched』が追加されています。X/Yは指先が触れている座標を中央を0として1~-1の範囲で返します。ちなみに、どちらも『SteamVR』->『Input』の中にあります。『Seconds』秒間の振動を与えます。強制的に0.003999に合わせられてしまいます。画像のように連続で呼ばれるような処理を作る必要があります。Outシーン移動や演出の為に画面にフェードを入れたい場合はこれらのノードを使用します。『Seconds』には何秒でフェードが完了するかを設定します。Out』をセットで使用すると思います。フェードするのはHMDの画面だけですので、HMDではない通常の画面をフェードさせたい場合は、別途処理を追加する必要があります。Enabled』はViveが有効に接続されているかどうかをチェックします。『有効であるか』だけをチェックするため、『トラッキングされているか』は考慮されません。Tracked』の方を利用します。引数に設定した対象がトラッキングされているかどうかをチェックします。Pose』は各種コントローラの位置や回転を取得できます。どちらもワールド・ローカルを選択できます。このブログで触れたノードは全てLuaによる実装が行われています。踏み込んだ実装の調査をしたい場合は、直接Luaのソースコードをチェックしてみてください。