たこやき部屋

SteamVRを使って、Unityでゲームを開発したい

テレポをラーニング

今週は夏休みなので帰省しようとしてたのですが、台風で飛行機飛びませんでした。(結果帰省せず)

5月のゴールデンウィークに帰省した時も、帰りの便が強風で飛びませんでした・・・

 

何故か続けて飛ばなかったわけですが、ま、そんなんどうでもよくって今回はドローンを飛ばしてみます。
現実の世界では広い場所も無し、気軽に飛ばせる所も無し、せめてVRの世界では広いところで飛ばしたいので、自分の位置もテレポートで移動できるようにしてみます。

 

ドローンのモデルは、ユニティちゃんの友達の「ゆうこ」を使用しました。

 f:id:takoyakiroom:20160824172205j:plain

 

では、モデルを配置して、空を飛ぶのでうつ伏せになるよう回転・・・

あれ? これ中心がモデルの足元にあるんじゃないっすか。

f:id:takoyakiroom:20160824172225j:plain

 確かに立ってる時の中心は足元が便利だけど、今回は飛んでもらうから中心はお腹のところが良いなぁ。

 

じゃあ、一旦別のオブジェクトを作って、その中に入ってもらおう!

Cubeを使って箱入り娘にし、箱は表示しないよう「Mesh Renderer」をOFFに。

これで中心が扱いやすい位置にきました。

f:id:takoyakiroom:20160824172414j:plain

 

箱を表示するとこんな風

f:id:takoyakiroom:20160824172524j:plain

 

続いて、コントローラ用のスクリプトを作成。
左のコントローラ前後左右上下移動用、右のコントローラは左右スライドとテレポ用。
スクリプトの中で左右どちらを使っているかによって挙動を変えたいので、publicにしたbool型の「Move_ctrl」の変数を作って、左をON。

f:id:takoyakiroom:20160824172653j:plain

 

右はOFF、これで処理を分岐させよう。

f:id:takoyakiroom:20160824172704j:plain

 

ドローン用のスクリプトも作って、ドローンにくっつける。

ついでに地面に落ちた時「ビターン!」ってならないよう、体がぽよぽよ弾むMaterialを設定。

f:id:takoyakiroom:20160824172801j:plain

 

ドローンの移動はここまでで今度は自分自身の移動、テレポを実装しよー。

Asset Storeにある

1. Vive Input Utility

 Copyright 2016, HTC Corporation. All rights reserved.

2. VRTK-SteamVR Unity Toolkit

 Sysdia Solutions Ltd

のどちらかでできそう。どちらもテレポ以外にも色々便利な機能が入ってるので一度目を通して後々また使わせていただきます。

 

んで、今回は「Vive Input Utility」を使用します。

Import後は、Examplesの中にテレポの例があるのでそれに沿って設定。

Prefabsの「VivePointers」をドロップ、テレポ可能なオブジェクトを「Teleportable」にして、TargetとPivotを入れてあげる。

あと「Teleportable.cs」ではトラックパッド押下でテレポだけど、トリガで移動したいので、ボタンの書き換えしてます。

f:id:takoyakiroom:20160824175757j:plain

 

左のテレポは使わないのでOFFっておく。

f:id:takoyakiroom:20160824180259j:plain

 

完成! 実行するでー!!

f:id:takoyakiroom:20160824175420j:plain

おおー、ポインタでてる。移動も出来る。

でも、 風景がないからどこ飛んでるかわかんねー!

 

f:id:takoyakiroom:20160824181018j:plain

殺風景だったマップに彩りをつけるため、「Low Poly: Free Pack」を使用させていただきました。

 

どこ飛んでいるか分かるようにもなったー

f:id:takoyakiroom:20160824181022j:plain

 

出来上がった動画はこちら。

ホントのドローンの挙動や操作方法は、今回作ったものとかなり違います。


VRドローン

 

プログラムのダウンロードはここ。

https://dl.dropbox.com/u/110351779/app/Drone.zip

 

ユニティちゃんライセンス

この作品はユニティちゃんライセンス条項の元に提供されています

 

最後に、作ったスクリプトです。(UnityもC#も初心者なので、間違っている可能性が大いにある点、注意してください)

ドローン