unityで作成したVR空間をoculusに実装する方法-レーザーポインターでオブジェクトを選択する方法-
OculusとUnityの接続が無茶苦茶ハマる
OculusとUnityの接続に関して、ネット上に数多くの屍が散見します。
その屍を乗り越えて、下のような実装を行ったので、今後の自分のためにもナレッジを残そうと思います。
完成したVR空間がこちら↓
Unityメモ24
— Unity勉強中の整形外科医:北城雅照|医療者向けプログラミングスクール「もいせん」開校! (@teru3_kitashiro) June 15, 2021
Oculus上にUnityで作成した空間を表現し、右手のコントローラーからボタンを操作する設定の実装。
これはかなりハマった。
成功してよかった〜。、ナレッジをQiitaにまとめよう。#protoout#もいせん pic.twitter.com/6aqwe4q8NT
一応公式ドキュメントも貼っておきますが、このドキュメントを乗り越えるのがムチャクチャ大変です。
どMの方は、どうぞ読みといてください。
開発環境
Oculusの初期設定
公式ドキュメントはこちら
1 Oculusアプリをスマホに入れ、Oculusの初期設定を行う
この際に、facebookアカウントとリンクさせると、その後の設定がスムーズになります。
2 アプリからデバイスを選択し、その他の設定から開発者モードをオンにする
これをオンにすることで、自分が作ったアプリをOculus上に上げることができます。
3 PCとOculusを接続し、PCとのデータのやりとりをOculu上で許可する
この設定により、PCから作成したVR環境のデータをOculusに送信することができます。
Unityの初期設定
公式ドキュメントはこちら
1 プロジェクトの立ち上げ
2 ビルド設定を修正
「テクスチャ圧縮」をASTCに変更
「デバイスを実行」を一度refreshを押した後に、自分のデバイスが選択できるようになるので、自分のデバイスを選択
その後「Switch Platform」を選択
終了後、左下の「Player設定」を選択
3 Player設定を修正
4 XRPlugin Managementのインストール
5 Oculus Integration(Oculus統合パッケージ)のインストルール
*必ず上記の設定が終了してからOculus Integrationをインポートしてください!!!
もう一度書きます!
必ず上記の設定を終了させてからOculus Integrationをインポートしてください。まじでハマります。
公式ドキュメントはこちら
アセットストアで「Oculus Integration」と検索し、左下のOculusのマークのパッケージをUnityにインストール&インポート。
インポートを軽くするために、Avatar,LipSync,SampleFrameworkのチェックを外しておく。
インポート中にアップグレードを勧められるの、全て「yes」を選択。UnityがRestartされる。
VR環境の構築
1 OVRGazaPointerをprehab化する。
Hierarchyの中のOVRGazaPointerをPrefabsの中にドラック&ドロップする。
2 OVRCameraRigの設定
1) 新しくSceneを作成し、Hierarchyの中に、prefabsからOVRCameraRigをドラック&ドロップする。
2) 元々あったMian Cameraは削除する。
3) OVRCameraRig/TrackingSpace/RightHandAnchor/RightControllerAnchorの下にPrefabsからOVRControllerPrefabをアタッチする。自動的にコントローラーとしてR Tracked Remoteが設定される。
3 uGUIを構成する
1 Canvasを作成
1)CanvasのRender Modeをスクリーンスペース・カメラに変更。
2)CanvasのEventCameraをOVRCameraRig/TrackingSpace/CenterEyeAnchorに設定。1)と2)よって常に正面にCanvasが設定されるようになる。
3)CanvasのGraphicRaycasterコンポーネントを削除。
4)CanvasにOculus/VR/Scripts/UtilのOVRRaycasterを追加。
5)OVRRaycasterのBlocking Objects欄を"すべて"に変更。
2 OVRGazaPointerの設定
1)PrefabsからOVRGazaPointerをHierarchyにドラック&ドロップする。
作成したOVRGazePointerのRay Transform欄は、OVRCameraRig/TrackingSpace/RightHandAnchorを設定する。
3 EventSystemの設定
1)EventSystemからStandaloneInputModuleコンポーネントを削除
2)EventSystemのOculus/VR/Scripts/UtilのOVRInputModuleを追加
3)OVRInputModuleのRay TransformにOVRCameraRig/TrackingSpace/RightHandAnchorを設定
4)カーソルにOVRGazaPointerを設定
5)Joy Pad Click Keyにone(Aボタン),Two(Bボタン),Secondary Index Trigger(Triggerボタン)を設定し、作動するボタンを設定する。
4 UI部品を設置
試しにボタンを設置する設定を記載します。
1)CanvasにButtonを設置。
2)AssetsにButtonAction.csを作成し、以下のスクリプトを追加。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ButtonAction : MonoBehaviour
{
[SerializeField] Image image;
public void OnClick()
{
image.color = Color.red;
}
}
3)Button ObjectにButtonAction.csを設定
4)クリック時のイベントにButtonAction.OnClickを設定
Build & Run
作成したVR空間をOculus上に表見するために、Build & Runを行います。
「デバイスを実行」は自身のデバイを選択してください。
完成したVR空間がこちら(再掲)↓
Unityメモ24
— Unity勉強中の整形外科医:北城雅照|医療者向けプログラミングスクール「もいせん」開校! (@teru3_kitashiro) June 15, 2021
Oculus上にUnityで作成した空間を表現し、右手のコントローラーからボタンを操作する設定の実装。
これはかなりハマった。
成功してよかった〜。、ナレッジをQiitaにまとめよう。#protoout#もいせん pic.twitter.com/6aqwe4q8NT
Author And Source
この問題について(unityで作成したVR空間をoculusに実装する方法-レーザーポインターでオブジェクトを選択する方法-), 我々は、より多くの情報をここで見つけました https://qiita.com/Teru_3/items/ecb089cf3123b463fcca著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .