【Oculus Quest】Oculus Touch Controllerを懐中電灯にする

概要

  • Oculus Questアプリに、Oculus Touch Controllerの動きに追従する懐中電灯を導入する

f:id:ozdasu:20190622214904g:plain

環境

  • Oculus Quest
  • Oculus Touch Controller
  • Unity 2018.4.0f1
  • Oculus Integration for Unity

セットアップ

シーンにCubeとPlaneを追加

f:id:ozdasu:20190622225545p:plain

空間を暗くする

効果を分かりやすくするため、以下の手順で空間を暗くする

  1. Directional Lightを削除
  2. Asset「10 Skyboxes Pack : Day - Night」をダウンロード&インポート。その中にある「SkyMidnight」をSkyboxに設定

assetstore.unity.com

f:id:ozdasu:20190622225736p:plain
暗くなった

懐中電灯を用意する

Asset「Flashlight」をAsset Storeよりダウンロード&インポート

assetstore.unity.com

シーンにOVRPlayerControllerを追加

  1. OVRPlayerControllerをシーンに追加
  2. Main Cameraを削除

シーンにOVRControllerPrefabを追加

OVRControllerPrefabをRightControllerAnchor配下に追加
(懐中電灯を右手に持ちたい場合。左手に持ちたい場合、LeftControllerAnchor配下にする)

f:id:ozdasu:20190622223550p:plain

Touch Controllerと懐中電灯を紐付ける

  1. OVRControllerPrefab配下に、Flashlight(懐中電灯のモデル。Flashlight > Model 配下にある)を追加 f:id:ozdasu:20190622222644p:plain

  2. Flashlightを適切なポジションに回転させる f:id:ozdasu:20190622225030p:plain

OculusTouchForQuestAndRiftSRightModelのメッシュレンダラーを削除

このままだと、懐中電灯にくわえ、Touch Controllerも表示されてしまう
そこで、OculusTouchForQuestAndRiftSRightModelのインスペクターより、メッシュレンダラーを削除する

f:id:ozdasu:20190622201937p:plain

これで懐中電灯のみが表示されるようになる

懐中電灯に光源を設定する

  1. Flashlighにスポットライトを追加
    f:id:ozdasu:20190622224149p:plain

  2. スポットライトを懐中電灯の向きと一致するよう回転させる f:id:ozdasu:20190622224928p:plain

完成

Oculus Touch Controllerを上下左右に動かすと、懐中電灯と、そこから発せられる光が追従する f:id:ozdasu:20190622214904g:plain

参考