Edited at

Unity5でGearVR シューティングゲームが作りたくて

More than 3 years have passed since last update.

GearVR開発を始めました。

VRシューティングゲームが作りたくて、

モックアップとして、

「注視点のポインターが飛んでくるバナナが重なった時爆発する」

というのを制作しました。

注視点のポインターとGameObjectが重なった時の処理のメモです。

Device IDの取得やOculus Signature Fileの設定などはこちらの良記事を参考にしました。

▫️Unity5でGear VR用アプリの開発方法

http://psychic-vr-lab.com/blog/unity/unity5%E3%81%A7gear-vr%E7%94%A8%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E8%A8%AD%E5%AE%9A/

上記事のOculus Mobile SDKは使わず、

チュートリアルも公開されてたので、

Unity公式のVRサンプルプロジェクトを参考にしました。


処理の作り方


まずはAssetストアからVR Sampleをダウンロードしてインポート。

参考にしたのは

VRSampleScenes/Scenes/Examples/Reticleシーンです。

こちらを開く。


初期状態はこんな感じでした。

ピンクのがポインターか!

もともとあるcubeの設定を読み解いて真似てみた。

今回はこのバナナをポインターに反応させるようにする。


バナーナちゃんに下記設定。

1.コライダーを設定。

2.VRInteractiveItem.csをアタッチ。

3.scripts/Exsamples/ExampleInteractiveItemを複製して

BananaInteractiveItem(名前任意)にリネームしてアタッチ。


処理のスクリプト書く

ExampleInteractiveItem.csを読み解くと、

イベントをハンドリングしてるところを発見。


ExampleInteractiveItem.cs

private void HandleOver() // 注視点がGameObjectに重なった時

private void HandleOut() // 注視点が外れた時

となっているようだ。

なので、

注視点のポインターとGameObjectが重なった時の処理はここに書けば良いのでは?

BananaInteractiveItem.csの


BananaInteractiveItem.cs

//Handle the Over event

private void HandleOver()
{
Debug.Log("over");
// ここに爆発処理を入れました〜。
//m_Renderer.material = m_OverMaterial; マテリアル変更してるとこは使わないのでコメントアウト
}

でできました。

爆発にはDetonatorというアセットを使用しました。

http://qiita.com/yando/items/eac9e0dbc1376b9cf141

この爆発、iosで実機確認すると爆発しないことがありました。

解決法はこちらの記事を参考にしました。

http://aidiary.hatenablog.com/entry/20140813/1407927404

チュートリアル実践して理解が深まるとともに追記しようと思います〜。

もっとVRやる