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を読み解くと、
イベントをハンドリングしてるところを発見。
private void HandleOver() // 注視点がGameObjectに重なった時
private void HandleOut() // 注視点が外れた時
となっているようだ。
なので、
注視点のポインターとGameObjectが重なった時の処理はここに書けば良いのでは?
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やる