Archive For The “建築” Category

StingrayVRテンプレートのVR向けノードをまとめてみた

By |

StingrayVRテンプレートのVR向けノードをまとめてみた

Stingrayのビジュアルスクリプティング機能、『Flow』では、 最初のテンプレートの選択によってVRに特化したノードを使用することができるため、 簡易的な物であれば建築分野用のVRデモなどを実装することもできます。 今回は、VR特化のノードについて、用途ごとに以下にまとめてみることにします。 ちなみにSteamVR(HTC Vive)用のノードを例にして挙げていますが、 StingrayにはOculus/GoogleVR/GearVR用のノードもあります。 ただし、どのHMDでも内容はほぼSteamVRと同一の為、割愛します。 最初に注意点ですが、 VR用ノードはStingrayのVRテンプレート実行時に同時に作成されるという仕様のため、 プロジェクト作成時に『VR HTC Vive』テンプレートを選択しないと、下記のノードが使用できません。 (使用するHMDによってテンプレートを選択してください) ※Viveコントローラの入力を取得したい ・SteamVR Button このノードはUpdateピンに接続されたタイミングで 『Controller Index』に設定されたコントローラの 『Button Name』に設定されているボタンが押されたかどうかを取得し、 処理を分岐させています。 ボタンの割り当てはViveの公式ドキュメントを参考にしてください。 (尚、システムボタンだけどういうわけか反応がありませんでした) 『Pressed』は最初にボタンが押された時、 『Held』はボタンを押し続けている時、 『Released』はボタンから指を離した時にそれぞれ呼ばれます。 『Value』は入力の状態を0~1の範囲で返します。 (指を離している時が0、完全に押し込んだ時が1。) 以下はトリガーの入力の範囲をログに出力するサンプルです。 画像のようにノードを接続しています。 ・SteamVR Touch こちらのノードは上述したButtonの『Touch Up』~『Touch Right』までをより詳細にしたノードです。 Buttonの方と同じ、『Pressed』『Held』『Released』の他、 タッチパッドに触れている間呼ばれ続ける『Touched』と タッチパッドから指を離したときに呼ばれる『Untouched』が追加されています。 X/Yは指先が触れている座標を中央を0として1~-1の範囲で返します。 ちなみに、どちらも『SteamVR』->『Input』の中にあります。 ※Viveコントローラに振動を与えたい ・SteamVR Controller Feedback このノードは『Controller Index』に設定されたコントローラに対し、 『Seconds』秒間の振動を与えます。 ただし、0.003999以上の値を設定すると、 強制的に0.003999に合わせられてしまいます。 VRのデモなどで『何かに触れた』という事を表す場合は単体で使用すればよいのですが、 ゲームなどの演出のように、長期的に振動させたい場合は、 画像のように連続で呼ばれるような処理を作る必要があります。 ※HMDの画面をフェードさせたい…

Flowの基礎について

By |

Flowの基礎について

前回は、Stingrayの基本と、テストプレイまで紹介しました。 今回はStingrayによる開発で、最も重要になると思われる 『Flow』についてご紹介します。 1.Flowとは何か 『Flow』とは、Stingrayに基本搭載されているビジュアルスクリプティング機能です。 そもそも、ビジュアルスクリプティングとは『視覚的にプログラムが組める機能』といった感じです。 有名なものでいえば、UnrealEngine4の『Blueprint』や、初心者向けのプログラミング言語の『Scratch』などがありますね。 ビジュアルスクリプティングの利点として、 『プログラムに触れたことのない初心者に優しい』、『一目でどのような処理かわかりやすい』という点があります。 もちろん、普通のプログラムができないわけではなく、StingrayではLuaにてプログラミングが行えます。 2.フローの開きかた 今回はまず、前回に作成したプロジェクトのFlowを開いてみます。 VRテンプレートのエディタの『Level Viewport』のタブのすぐ右側にある『Level Flow』タブを開きましょう。 『Level Flow』タブが見つからない場合は、『Window』のドロップダウンメニューを開き、 『Level Flow』を選択してください。 すると、画像のようなエディタが開かれるはずです。 これは『レベルフロー』といい、Flowの一種です。 たくさんのブロックが線で繋がっているのが見えます。 これがビジュアルスクリプティングにおけるプログラムになります。 3.Flowの基礎(ピンとノード) Flowにおけるブロックは『ノード』と呼ばれ、 『特定の値を拾う』『操作を受け付ける』等といった機能が、ブロックごとに設定されています。 Stingrayではこのブロックとブロックを線で繋ぎ、プログラミングをやっていきます。 今のままでは、画面がよく見えないため、Flowを拡大しましょう。 Flowの拡大/縮小はマウスホイールで行えます。 また、ホイールクリックでFlowの移動もできます。 画像は先ほどのFlowの左上の部分を拡大したものです。 ノードにいくつかの○があるのが見えます。 この○は『ピン』といい、ノードに入力する値(引数)か、 ノードから出力される値(返り値)を表します。 左側の○が引数、右側の○が返り値となります。 線はこのピンから伸び、また別のノードのピンに繋がります。 線とピンにはそれぞれ色がついています。 この色は、その線とピンが『何を表しているか』を示しています。 どの色が何を表すか、については今後必要に応じて説明するため、 現時点では、『白い線で繋がっているノードの順に実行される』ということだけ覚えておけば大丈夫です。 4.処理の始まりのノード 先ほどの画像では、『Level Update』というノードから白い線が始まっているのがわかります。 つまり、ここが処理の始まりの部分となるわけです。 『Level Update』というノードは『更新の度にout以降の処理を行う』というものです。 つまり、『Level Update』の『out』から繋がったノードは、一定の間隔で実行されるということです。 何度も実行したい処理はこのノードに繋げます。 この他にも、『処理の始まり』となるノードは幾つも存在します。 そのうちの一つが、『Level Loaded』ノードです。 このノードは『レベルのロード時のみ』に呼ばれます。 分かりづらいという方は『一番最初に一度だけ呼ばれる』と覚えておけば、今の時点では問題ありません。 また、その逆で『レベルの終了時』、つまり『一番最後に一度だけ呼ばれる』、…

Stingrayに触れてみよう

By |

Stingrayに触れてみよう

近年、VR/AR技術はゲーム業界のみならず、医療分野やその他の分野でも利用されるようになりました。 特に建築分野では、ウォークスルーアニメーションのプレゼンムービー等、 VIVEコントローラーによる入力を伴ったビジュアライゼーションの現場で活用されています。 液晶画面上に(内覧用の)モデルルームを表示したいとき、あるいは室内の家具の配置を考えるときに、VR/AR技術は有用です。 なぜなら実際の建築物・家具を設置する必要がなく、 以前より制作会社に蓄積されたCGアセットを活用でき、大幅な省力化が図れるからです。 この点は、建築分野においてVR/AR技術が注目を集めている大きな理由です。 通常、建築系のVRのコンテンツ開発にはゲームエンジンが用いられます。 代表的なゲームエンジンとして、UnityやUnrealEngine4が挙げられます。 ゲームエンジンとは文字通り、『ゲームを作るためのエンジン』です。 (近頃は建築などゲーム以外の用途にも使われることも増えています。) さて、話は変わりますが、『Stingray』というゲームエンジンがあります。 Stingrayは2年前にAutodesk社がリリースしたゲームエンジンで、 プログラマでない方にも親しみやすく、3D機能に非常に優れています。 拡張性の高いシステムに、一目でわかるビジュアルスクリプティングが特徴です。 また、Mayaや3dsMaxで有名なAutodesk社がリリースしたエンジンであるため 上記の3Dデザインツールとの連携も容易というメリットがあります。 ただ、UnityやUnrealEngineに比べると情報が少ないのが難点です。 Autodesk公式が運営しているチュートリアルと、 Stingrayそのもののヘルプページを除くと、Stingrayについての情報を見つけるのはかなり難しいと思います。 前置きが長くなりましたが、 数回に分けてStingrayについて、このブログに書いていくことにします。 Stingray自体がデザイナー向けのエンジンという事もあり、 ビジュアルスクリプティングをメインに書いていく予定です。 —————————————————– ・Stingrayに興味があるが触ったことのない方 ・あまりゲーム開発やゲームエンジンにあまり詳しくない方 ・HTC Viveのセットアップが既にできている方 ・プログラムが全く分からない方 —————————————————– このページは上記のような方々を対象にしています。 今回は、『Stingrayの起動』から、『VRテンプレートのプレイ』までを書いていきます。 1.まずはプロジェクトを作成を行う 最初はプロジェクトの作成を行います。 StingrayのランチャーからStingrayを起動します。 起動直後の画面では、いくつかのテンプレートが表示されているはずです。 (表示されていない場合、画面のタブから『Templete』を選択してください) このテンプレートの中から、使用したい物を選びます。 今回はHTC Viveで動かすため、『VR HTC Vive』のテンプレートを使用します。 『VR HTC Vive』のテンプレートをクリックして、右下の『Create』ボタンをクリックしましょう。 すると、下の画像にあるようなウィンドウが出て来ます。 『Name』はプロジェクトの名前なので好きな名前にしましょう。 『Directry』はファイルを保存する場所ですが、何かしらのこだわりがない限りはそのままで大丈夫です。 設定が終わったら『Create』ボタンをクリックします。 これで新規プロジェクトの作成は完了です。 2.プロジェクトをプレイする しばらく待つと、上の画像にあるような画面が表示されます。 これがStingrayのメイン画面になります。 お気付きの方もいるかもしれませんが、…

Go Top