Windows11の教科書

ウィンドウズ11やスマホで困ったことを調べたブログ

【Unity】Oculus用VR版のビルドその2 [XR Toolkitから作成]

前回はUnityでテンプレートでVRを使っての作成例を紹介。今回はXR Toolkitから実行する場合の手順をまとめてみました。

XR ToolkitはVR環境をひとまとめにしたもので、ヘッドセットの差を吸収してくれるものです。XR Toolkitに慣れておけば、いろんなVR・AR環境に対応しやすくなると思います。

セットアップ

準備

Unityでテンプレートの段階でVRがあるのでそれを使った事例をいかにまとめました。

www.kyoukasho.net

 

今回は3Dのテンプレートから作ってVR化する手順です。

 

前回を参考に

・Unityでアンドロイド開発環境を整備

・Java,AndroidSutdioをインストール

・Meta Quest 2で開発者モードにしておく

・オキュラスリンクを導入し、PCとメタクエ2がつながるようにしておく

といった準備をしておきましょう。

 

プロジェクト作成

Unityで新規プロジェクトを「3D」のテンプレートから作成。

 

「ウィンドウ>パッケージマネージャ」で「XR Interaction Toolkit」をインストールする。他「OculusXRPllugin」「XR Plugin Management」をいれておきます。

 

シーン作成

シーンでは「作成>XR>XR Origin(Action based」を作って配置。

これがヘッドセットになり、これだけでカメラやコントローラも配置されます。

 

「編集>プロジェクト設定」で「Oculus」を指定すると、PC実行時にOculusにもデータが送られます。

「XR Plugin Management」をいれてないと「Oculus」が出ないので注意。

 

オキュラスリンクで先にPCとメタクエ2を接続しておきます。

あとはUnityのほうからシーンを実行してメタクエ2からシーンが見れればOK。

 

以下はスナップショット。床とボックスはこちらで追加したもの。

「赤いレイ」は、すでに装備されているもののようです。

 

コントローラの制御

イベントを登録する

コントローラの制御は、前回同様InputSystemを使って指定できます。

 

手順は一緒ですが、「OculusXRPllugin」をいれてないとOculusControllerの表示が出ませんでした。入れておきましょう。

 

あとはオブジェクトに「PlayerInput」コンポーネントを追加して、作ったInputSystemを登録。

 

スクリプトも書いておき、例えばスティックの移動でLogを出力などしておいてから実行・確認しましょう。

 

Locomotionのコンポーネントをアタッチすれば、スクリプトを書かなくても回転などは実装可能なようです。

 

 

振動させる

振動ですがたとえばRightHand Controllerで、Hapticをチェックし、HapticDeviceのスクリプトをアタッチ。

 

するとスクリプトからBase Controllerコンポーネントへ「SendHapticImpulse」で強さと長さを送ることができます。

g=GameObject.Find("RightHand Controller");
g.GetComponent<XRBaseController>().SendHapticImpulse(0.4f, 0.1f);

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

利用規約・プライバシーポリシー |〇問い合わせ