37
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Oculus QuestでuGUIを操作する

Posted at

はじめに

基本的にはOculusGoなどと同じですが、少し情報が古くなっているので、2019.06時点での情報を記して置きます。

Oculus Go 開発メモ - uGUI編 - Qiita
https://qiita.com/JunSuzukiJapan/items/bead777e8dfeaa49ea30

今回はSampleFrameworkのプレハブを使って最小限の手順を紹介します。

関連: OculusのSampleFramework全シーンをQuest実機で動かしてみた【Unity】 - Qiita

環境

  • Unity 2018.3.14f1
  • Oculus Integration for Unity - 1.37
    • Oculus Utilities Plugin 1.32.0
  • Mac OSX 10.14.4(18E226)

手順

0.前提

  • Oculus Integrationsがインポート済み
  • 組み込むシーンにOVRCameraRigが存在している

1. 操作される側(Canvas)の設定

Assets>Oculus>VR>ScenesのUIシーンにあるLightCanvasをコピーして持ってくるのが早いと思います。余計なスクリプトついてないので、改変しやすいです。

デフォルト値からの差分としては以下の通りです。

2. 操作する側(EventSystem, LaserPointer)の設定

Assets>Oculus/SampleFramework/Core/DebugUI/Prefab内のUIHelpersとうPrefabに全部まとまっています。初めに挙げた記事などではインスペクター上での設定をしていますが、このPrefabはシーンに配置するだけですぐに動作します(デフォルトで右手からRayを飛ばす設定)。

Prefabの中には3つのGameObjectが入っています。

  • EventSystem
    • Standalone Input Moduleの代わりにOVR Input Moduleがアタッチされている
    • Ray Transform(Rayを飛ばす原点)はUIHelpersについているHandedInputSelectorが上書きする設定になっているため、必要であれば書き換える
  • LaserPointer
    • OVRCursorを継承したクラスを持ち、OVR Input Moduleから参照されている
    • CursorVirualでカーソルとして使用するオブジェクトを指定可能
    • カーソルまでの線を描画したい場合はLine Rendererをenableにする
  • Sphere
    • LaserPointerでCursor表示用に参照されている

最後に

プレハブ2つをコピーしてくるだけで動きました。
それぞれシンプルな作りなので、ここから必要に応じて変更を加える形が分かりやすいと思います。

37
28
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
37
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?