Unity++blog.

UnityやC#とかについて学習したことを書いてます

Unity&VR 視点ポインターなど基本のお勉強

UnityでVRを作成するための基本を書いていきたいと思います。

しばらくは(自分のスマホに合う)Android端末に出力していきたいため、GoogleVrForUnityを使って作成していきます。

 

初期設定などはこちらに書いています。

nabesi777.hatenablog.com

 

 

まずCubeとPlaneを置いただけの状態です。

f:id:nabesi777:20180929123145j:plain

 

このまま再生してもうんともすんとも言いません。

 

再生中に画面を動かす

GoogleVrのPrefabの中のGvrEditorEmulatorをHierarchyへドラッグします。

f:id:nabesi777:20180929125926j:plain

次にMaincameraを空オブジェクト(名前はSightにしました)への子要素とします。(カメラのPositionやRotationはVRの頭の傾きで使用するからのようです、Transformの数値はすべて0にします)

 

このようにセットして再生をすると、CtrlまたはAltを押しながらマウスを動かせるようになり、再生モードで動作確認できるようになりました。

 

視点ポインターを出す

クリックの代わりとなる視点ポインターを出します。

 

MainCameraのタグをMainCameraにする。

そしてGvrReticlePointerをMainCameraの子要素とする。

MainCameraへスクリプトのGvrPointerphysicsRaycaterをアタッチする。

 この時MeshRendererがカメラに付いていないとエラーとなるようなので、付いてない場合はAddComponentから加えます。

 

最後にHierarchyへGvrEventSystemをドラッグします。

 

視点ポインターがでてきました!

Ctrl+マウス、Alt+マウスでコントロールすることができます。

f:id:nabesi777:20180929130007j:plain

 

オブジェクトにクリックイベントを加えてみる

次にCubeを1秒見ると消えるように設定してみます。

 

まず、CubeヘAddComponentよりEventTriggerを加えます。この状態で再生をおしてCubeに視線を合わせるとポインターを大きくなりました!認識しています。

f:id:nabesi777:20180929130454j:plain

 

では次に見つめたら消えるようにスクリプトを書きます。スクリプトの名前はDestroyとしています。書けたらCubeへアタッチします。

 

次にInspectorへCubeを格納します。 

 

f:id:nabesi777:20180929134458j:plain

 

次に Event TriggerのAddNewEventTypeを押してPointerEnterPointerExitの二つのイベントを追加します。視点が乗った時のイベントと外れた時のイベントです。作成ができたら図のように左側へCubeを格納して右側プルダウンの中はDestroy>OnEnterPointerという風に選択をします。

f:id:nabesi777:20180929143058j:plain

 

 この設定でオブジェクトが消えるようになりました。

f:id:nabesi777:20180929143234g:plain