ぼくの息抜き

ぼくの息抜き

気ままな二人が記事を書くことで息抜きしていくブログ

CSS MenuMaker

【VR,OculusGo,Unity】素人が目線にポインターを出すやり方を実践

f:id:bokunoikinuki:20180826161459p:plain

次はリモコンから線を出せるようにする。

結果的にポインターがでた。

目線にポインターを出す

まずは情報収集。

情報収集

読んだ記事

  1. Oculus Go開発【コントローラー表示、クリック反応、移動、ポインタ、uGUI】 - トマシープが学ぶ
  2. 【Unity】VRレーザーポインター(ビーム)を作る - ヽ|∵|ゝ(Fantom) の 開発blog?
  3. Oculus Go 開発メモ - uGUI編
  4. Oculus GoのコントローラからレーザーポインタによりUIを操作するまで - oculusgogo

一番シンプルでわかりやすかった3番目の記事を参考にして一つサンプルを作ってみることにする。

実践

環境

  • macOS
  • Unity Ver 2018.1.9.f1

参考記事:Oculus Go 開発メモ - uGUI編

1.Oculus Integration をインポートする

VRの部分だけInportした。なんかAudioのエラーが出るが、Buildが早くなるので、サンプルはとりあえずこれで行く。

f:id:bokunoikinuki:20180901084522p:plain

2.UIシーンにあるOVRGazePointerをPrefabにしておく。

おけい。

f:id:bokunoikinuki:20180901084736p:plain

3.新しいSceneを作成する

丁寧!

4.OVRCameraRigを準備する

ほい。

MainCamera削除。

5.uGUIの構成 - Canvas

CanvasのRender ModeをWorld Spaceにし、CenterEyeAnchor入れる。

CanvasからGraphic Raycasterを削除。

Canvasに新たにOVR Raycasterを追加。

 Canvasに新たにOVR Raycasterを追加。が出来なかった。

f:id:bokunoikinuki:20180901085702p:plain

忘れてた。これらのエラーのせいだ。

この前にandroidにSwitchPlatformしておいたほうがいいかもしれない。

(自分はあとでやった)

Oculus Utilities for Unity | Developer Center | Oculus

ここから『OculusUtilities.unitypackage』をダウンロードして、ダブルクリック。

出てきたものを全てImportしてYes,Yes押したらエラーが消える。

f:id:bokunoikinuki:20180901085919p:plain

無事、 Canvasに新たにOVR Raycasterのスクリプトを追加することができた。

 

6.EventSystem

EventSystemからStandalone Input Moduleを削除

新たにOculus/VR/Scripts/UtilにあるOVRInputModuleを追加

OVR Input ModuleのRay Transform欄にCenterEyeAnchorを追加

丁寧!

7.OVRGazePointer

2-2で作成しておいたOVRGazePointerのプレハブを、Scene上にドラッグ&ドロップして実体化

 

なお、OVRGazePointerが無いとGUIの操作が出来ません。

らしい。ということはポインター自体は出るのかな?

うーん。出なかった。

8.好きにUI部品をCanvasに並べる

Canvasにbutton入れて、CanvasのZを200くらい変えたらいい感じにbuttonが表示された。

9.Build

OculusGoで確認してみた。

ポインターってポインターだった。今回線を出そうと思っていたが、『目線での選択』だった。

それはさておき、ポインターを合わせてリモコンで何らかのアクションをすると無事色が変わった。

f:id:bokunoikinuki:20180901094143g:plain

なんの動作でも色が変わった。人差し指でも、スワイプでもタッチパッドタップでも。

ポインターは3Dオブジェクトの床では出てこなかった。GUIに重なったら出てくる仕様?

完成形

f:id:bokunoikinuki:20180902075436g:plain

感想

参考記事がめちゃくちゃ丁寧だったおかげでスムーズにできた。ただ、実装できたけど、仕組みがよくわかっていない。

次こそはレーザーポインターをだす。最初に調べた4番目の記事を参考にレーザーポインターを出せるようにしよう。