Google VR SDKで視線の検知

https://gyazo.com/94f1fd7ba2ea456b3500e3e87b9e8947

視線の検知

VR環境では,タップなどスマートフォンで一般に用いられる操作が出来ません. そこで,Google VRでは, ユーザの視線による操作を可能としたGoogle VR Pointer System が用意されています. 今回は,視線を利用したオブジェクトの選択を実現してみましょう. 事前に準備が必要なプロジェクトの作成やパッケージの導入などは, Google VR SDKを利用した360°画像ビューアーを参考にしてください.

シーンの作成

シーンを新規に作成します. ここでは,シーンの名前は[MenuScene]とします. まずは,Google VR SDKを利用した360°画像ビューアーを参考に, 空のオブジェクトであるVR Cameraを作成し,直下にMain CameraGvrEditorEmulatorを設定します.

次に対象となるQuadオブジェクトをシーンに配置します. Quadオブジェクトを配置するには,[GameObject]-[3D]-[Quad]を選択します. Quadオブジェクトのインスペクターを開き,PositionZ座標5に設定しましょう. また,新規にマテリアルを作成し,Quadオブジェクトに追加しておきます(マテリアルに関しては割愛します). シーンを再生すると下記のように表示されます.

https://gyazo.com/c3f40bd4fbddf7a69081f656f82b0195

視線の検知

上記で作成したQuadオブジェクトを視線に捉えていることを検出してみましょう. まずは,ヒエラルキーにGvrEventSystemをドラッグ&ドロップで配置します. GvrEventSystemは視線に関するイベントの包括的な処理を行います. また,ヒエラルキーのMain Cameraの直下に,GvrReticlePointer を配置します. GvrReticlePointerは,ユーザが見つめている一点をポインタで表します. 対象となるオブジェクトを見続けているとポインタが拡大します. シーンを再生すると下記のように表示されます. 中央に視点を表すポインタが表示されていることが分かります. 現時点ではQuadオブジェクトを見続けてもポインタに変化はありません.

https://gyazo.com/d859cc5fff9a2bd88d78b65a23b7bc30

次に,視線を検出するためのスクリプトをMain Cameraに設定します. Main CameraのインスペクターでAdd Componentを選び,Physics Raycaster を選択します(Physics Raycasterはスクリプトであることに注意).

https://gyazo.com/faff19a2b6e19350e92d9925e8439f60

また,対象となるQuadオブジェクトにEvent Triggerを設定します. QuadオブジェクトのインスペクターでAdd Componentを選び,Event Trigger を選択します(Event Triggerもスクリプト).

シーンを再生すると下記のように表示されます. 中央にあるポインタがQuadオブジェクトを捉えると, ポインタが大きな円に変形することが分かります.

https://gyazo.com/7e1fe35aa02b1a31347f117b95615cda

シーンの切替

Quadオブジェクトを2秒間見続けるとシーンを切り替えるようにします. QuadオブジェクトのインスペクターでAdd Componentを選び,Net Script を選択します(C#で記述する). ここでは,スクリプト名はCntrol Sceneとします.

スクリプトには下記のコードを記述します. enterPointerメソッドはポインタがオブジェクトを捉えたときの処理, exitPointerメソッドはポインタがオブジェクトから外れたときの処理です. シーンの遷移はUpdateメソッドに記述します. ポインタが2秒以上オブジェクトを捉えたことを条件に, Panorama Viewerという名前のシーンに切り替えています.

上記で定義したメソッドをQuadオブジェクトのEvent Triggerに設定します. Pointer Enterには,enterPointerメソッド, Pointer Exitには,exitPointerメソッドをそれぞれ設定します.

https://gyazo.com/54824c1feb448adbfe54657bd5e11f3b

シーンを再生すると下記のように表示されます. ポインタをQuadオブジェクトで捉えると,2秒後にシーンを遷移しています.

https://gyazo.com/7da50bba9cad73a36f565be409f7c2bb

参考書籍

愛知県名古屋市にある椙山女学園大学 文化情報学部 向研究室の公式サイトです. 専門は情報科学であり,人工知能やデータベースなどの技術要素を指導しています. この公式サイトでは,授業で使用している教材を公開すると共に, ベールに包まれた女子大教員のミステリアスな日常を4コマ漫画でお伝えしていきます. サイトに関するご意見やご質問はFacebookまたはTwitterでお問い合わせください.

スポンサーリンク