簡易的な物であれば建築分野用のVRデモなどを実装することもできます。今回は、VR特化のノードについて、用途ごとに以下にまとめてみることにします。StingrayにはOculus/GoogleVR/GearVR用のノードもあります。どのHMDでも内容はほぼSteamVRと同一の為、割愛します。Vive』テンプレートを選択しないと、下記のノードが使用できません。処理を分岐させています。ボタンの割り当てはViveの公式ドキュメントを参考にしてください。『Released』はボタンから指を離した時にそれぞれ呼ばれます。『Value』は入力の状態を0~1の範囲で返します。(指を離している時が0、完全に押し込んだ時が1。以下はトリガーの入力の範囲をログに出力するサンプルです。画像のようにノードを接続しています。Right』までをより詳細にしたノードです。タッチパッドから指を離したときに呼ばれる『Untouched』が追加されています。X/Yは指先が触れている座標を中央を0として1~-1の範囲で返します。ちなみに、どちらも『SteamVR』->『Input』の中にあります。『Seconds』秒間の振動を与えます。強制的に0.003999に合わせられてしまいます。画像のように連続で呼ばれるような処理を作る必要があります。前回は、Stingrayの基本と、テストプレイまで紹介しました。『Flow』についてご紹介します。『Flow』とは、Stingrayに基本搭載されているビジュアルスクリプティング機能です。そもそも、ビジュアルスクリプティングとは『視覚的にプログラムが組める機能』といった感じです。有名なものでいえば、UnrealEngine4の『Blueprint』や、初心者向けのプログラミング言語の『Scratch』などがありますね。『プログラムに触れたことのない初心者に優しい』、『一目でどのような処理かわかりやすい』という点があります。普通のプログラムができないわけではなく、StingrayではLuaにてプログラミングが行えます。今回はまず、前回に作成したプロジェクトのFlowを開いてみます。Flow』タブを開きましょう。Flow』を選択してください。すると、画像のようなエディタが開かれるはずです。これは『レベルフロー』といい、Flowの一種です。たくさんのブロックが線で繋がっているのが見えます。これがビジュアルスクリプティングにおけるプログラムになります。『特定の値を拾う』『操作を受け付ける』等といった機能が、ブロックごとに設定されています。Stingrayではこのブロックとブロックを線で繋ぎ、プログラミングをやっていきます。今のままでは、画面がよく見えないため、Flowを拡大しましょう。Flowの拡大/縮小はマウスホイールで行えます。ホイールクリックでFlowの移動もできます。画像は先ほどのFlowの左上の部分を拡大したものです。ノードにいくつかの○があるのが見えます。ノードから出力される値(返り値)を表します。左側の○が引数、右側の○が返り値となります。線はこのピンから伸び、また別のノードのピンに繋がります。線とピンにはそれぞれ色がついています。この色は、その線とピンが『何を表しているか』を示しています。現時点では、『白い線で繋がっているノードの順に実行される』ということだけ覚えておけば大丈夫です。Update』というノードから白い線が始まっているのがわかります。ここが処理の始まりの部分となるわけです。Update』というノードは『更新の度にout以降の処理を行う』というものです。Update』の『out』から繋がったノードは、一定の間隔で実行されるということです。何度も実行したい処理はこのノードに繋げます。この他にも、『処理の始まり』となるノードは幾つも存在します。Loaded』ノードです。このノードは『レベルのロード時のみ』に呼ばれます。分かりづらいという方は『一番最初に一度だけ呼ばれる』と覚えておけば、今の時点では問題ありません。近年、VR/AR技術はゲーム業界のみならず、医療分野やその他の分野でも利用されるようになりました。VIVEコントローラーによる入力を伴ったビジュアライゼーションの現場で活用されています。液晶画面上に(内覧用の)モデルルームを表示したいとき、あるいは室内の家具の配置を考えるときに、VR/AR技術は有用です。以前より制作会社に蓄積されたCGアセットを活用でき、大幅な省力化が図れるからです。この点は、建築分野においてVR/AR技術が注目を集めている大きな理由です。通常、建築系のVRのコンテンツ開発にはゲームエンジンが用いられます。代表的なゲームエンジンとして、UnityやUnrealEngine4が挙げられます。ゲームエンジンとは文字通り、『ゲームを作るためのエンジン』です。(近頃は建築などゲーム以外の用途にも使われることも増えています。話は変わりますが、『Stingray』というゲームエンジンがあります。プログラマでない方にも親しみやすく、3D機能に非常に優れています。拡張性の高いシステムに、一目でわかるビジュアルスクリプティングが特徴です。上記の3Dデザインツールとの連携も容易というメリットがあります。UnityやUnrealEngineに比べると情報が少ないのが難点です。Stingrayそのもののヘルプページを除くと、Stingrayについての情報を見つけるのはかなり難しいと思います。数回に分けてStingrayについて、このブログに書いていくことにします。ビジュアルスクリプティングをメインに書いていく予定です。このページは上記のような方々を対象にしています。今回は、『Stingrayの起動』から、『VRテンプレートのプレイ』までを書いていきます。最初はプロジェクトの作成を行います。StingrayのランチャーからStingrayを起動します。起動直後の画面では、いくつかのテンプレートが表示されているはずです。このテンプレートの中から、使用したい物を選びます。Vive』のテンプレートを使用します。Vive』のテンプレートをクリックして、右下の『Create』ボタンをクリックしましょう。すると、下の画像にあるようなウィンドウが出て来ます。『Name』はプロジェクトの名前なので好きな名前にしましょう。『Directry』はファイルを保存する場所ですが、何かしらのこだわりがない限りはそのままで大丈夫です。設定が終わったら『Create』ボタンをクリックします。これで新規プロジェクトの作成は完了です。待つと、上の画像にあるような画面が表示されます。これがStingrayのメイン画面になります。