Google Cardboard SDK

スマートフォンを簡易VRヘッドセット化するGoogle Cardboard向けのunity-game-engine SDK。Unity 2019.3以降はUnityXRに統合されている。

ヘッドセットエミュレータ

1.2.0ではサンプルの “Player” をコピーすると実機でジャイロが効く。MainCamera配下にReticlePointerを置けばポインタが出る。ただしエディタ上では “Player” は動かないため GVREditorEmulator をシーンに置く必要がある。

VR / 非VRモードの切り替え

XRGeneralSettings.Instance.Manager から制御する。

  • 非VR → VR: manager.InitializeLoader()manager.StartSubsystems()。PlayerSettingsのXR Plugin ManagementでCardboard XR Pluginを有効化。起動時に非VRで開始したいなら Initialize XR on Startup を外す。エディタは画面回転できないので #if !UNITY_EDITOR で分岐。
  • VR → 非VR: Screen.orientation = Portraitmanager.StopSubsystems()

GazeableButton (凝視ボタン)

視線を合わせ続けるとゲージが溜まり押されるボタン。注視時間をカウントし duration で割った値をSliderに反映、超過したら ExecuteEvents.Execute(..., pointerClickHandler) でクリックをエミュレート。EventTriggerの OnReticlePointerEnter/Leave で hover を管理し、unity-game-engine のUniRx・DOTweenでアニメーションする。

関連