実践amazon sumerian チュートリアル ラジコン ドローン を作る VR ゲーム製作の基礎に
我が家のVR環境であるWindows MRでは専用のVRリモコンが対応しておらず、入力どうしようか考えていたのですがamazon sumerianのチュートリアルにドローン製作があり、どうもキーボードで入力できるようなのでこれを使っていこうと思います。
キーボード入力を感知し、VRの画面内で動くドローンの作り方を学んでいきます。
ドローン製作を応用すればFPSのようなキーボード主体の入力方式でVR空間内を移動できるようになるはずです。
それでは早速作ってみます。
ドローンのassetを追加する
Rigid Bodyを追加する
物理的な動きというのは簡単に言えばニュートンのリンゴみたいに物が落ちたり跳ね返ったりとかそういう感じです
高校生程度の物理学の知識があれば自分で動きをプログラムする事もできると思いますが、そんな面倒な事を毎回やるのは無駄なのでRigid bodyとしてコンポーネントが用意されています。
追加するときは右のInspectionパネルからadd componentsを選択します。
下の画像のボタンです。
いろいろなコンポーネントがあります。今回はrigid bodyを選択します。
これで物理演算されるようになりました。
しかしこの時点で再生をするとドローンは床を突き抜けてどこかへ落ちて行ってしまします。
Collider を追加する
こんな感じになります。
一方家の方は横と奥行も入れる必要があります。
最初はどのような物体も1*1*1の箱状の当たり判定が与えられますが全然あってないので必ず確認してください。
今回は
x 10 y 0.01 z 10
に設定しました。
これで無事ドローンが床を貫通して無限に落ちていく事がなくなったはずです。
ようやくVRゲーム?っぽくなってきた感じがありますね?
キーボードで動かせるようにする
するとこのようなメニューが出てきます。
今回はキーボードの入力を確認するためkey upを選択します。
左側Controlsタブの中にkey upがあります。見つからない時は検索を使えばすぐ見つかるはずです。
こうして追加したあと、Inspectionパネルからキーの選択をします。
今回は上昇にスペースキーを当てようと思います。
このとき日本語入力になっているとうまくいかないので気を付けてください。
次に動きのActionを追加します。
Add Actionからphysicsタブ内のApply force on rigid bodyを選びます。
次に動き自体をどうするか決めます。
今回はY軸方向(上下)で上向きに15の加速度を与えてみようと思います。
次に新しいstateを追加します。
add stateボタンを押し、名前を付けておきます。
次はadd Actionでcontrolの中のkey downを選択し、先ほどと同じようにスペースキーを割り当てておきます。
これら二つを上の画面のように結びます。
key downの方をinitial stateに変更します。
これはInspector パネルにinitial stateへの変更ボタンがあります。
これを忘れると開始後上昇してどこかへ消えてしまします。
ここで注意したいのは動き(Apply force on rigid body)を追加するのはkey up側という事です。
普通キーが押されたらkey downが動きそうな気がしますがそうではありません。
矢印の流れで動いていく命令がそれぞれでせき止められて実行されるイメージでしょうか?
正直よくわかりませんがこの通りやれば動きます。
水平方向の動きを作っていこう
真ん中がkey downとなっており、initial stateになっています。
この方法だと同時入力ができないので基本的には一つのキーにつき一つbehaviorを作る形がよさそうです。
私は左右の移動と前後の移動をそれぞれにまとめました。
数値に関してはそれぞれ入れてみていい感じのに設定しました。
左右で逆に動かしたいときはマイナスの値を入れるといいです。
完成
そんなこんなで出来上がったのがこれです。
wasdで移動 スペースで上昇します。
一応動いている感じがしますね?
今後はこれを応用して色々やっていこうと思います。
現状ではx軸、z軸に沿った操作となっています。さらに自然な入力方法は今後探していきます。
ここまでやってみると確かにUnityに比べてかなり簡単にVRコンテンツが作れそうですね。
ディスカッション
コメント一覧
まだ、コメントがありません