LoginSignup
9
9

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-04-18

GearVR開発を始めました。

VRシューティングゲームが作りたくて、
モックアップとして、
「注視点のポインターが飛んでくるバナナが重なった時爆発する」
というのを制作しました。

注視点のポインターとGameObjectが重なった時の処理のメモです。
スクリーンショット 2016-04-18 17.59.05.png

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をダウンロードしてインポート。

スクリーンショット 2016-04-18 18.08.41.png

参考にしたのは
VRSampleScenes/Scenes/Examples/Reticleシーンです。
こちらを開く。

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

ピンクのがポインターか!
スクリーンショット 2016-04-18 18.11.33.png

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

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

スクリーンショット 2016-04-18 17.45.08.png

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

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やる

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9