記事一覧
XR Interaction Toolkit 2.0が出ていた
XR Interaction Toolkit 2.0で変更点が大きいとのツイートを見たので、確認してみました。
変更履歴を確認すると現在の最新バージョンは、2.0.0-pre.5で、2021/11/17にリリースされていました。
変更点が大きいのが、2021/11/09にリリースされた2.0.0-pre.3でXR Rigが非推奨となり代わりにXR Originを使用するようになっていました。
2.
VRアバターを作ってみる ( VR編 )
前回は、モデルに対して腕や頭を動かす仕組み(リギング)の設定を行いました。今回は、VR用の設定、スクリプトの作成を行い、実機(Oculus Quest2)にて動作させます。「VRアバターを作ってみる」の最終回になります。
環境Unityバージョン:2021.1.21f1
XR Interaction Toolkit:1.0.0-pre.6
Animation Rigging:1.0.3
Ocul
VRアバターを作ってみる ( リギング編 )
前回は、VRアバターとなるモデルと実際に動かした時に確認できる鏡の用意までしました。今回は、モデルに対して腕や頭を動かす仕組み(リギング)を設定します。
リギングにはAnimation Riggingを使用し、設定に従って動作する事を確認します。
環境Unityバージョン:2021.1.21f1
XR Interaction Toolkit:1.0.0-pre.6
Animation Riggi
VRアバターを作ってみる ( 準備編 )
VR空間上に自身を表現するモデルを配置し、VRヘッドセットやハンドコントローラーの動きに応じて動かす、VRアバター的なものを作成してみます。
VRのライブラリは、XR Interaction Toolkitを使用し、モデルを動かす仕組み(リギング)は、比較的最近(2020年6月)正式版になったAnimation Riggingを使用します。
モデルは、Unity公式のアセットとして無料でダウンロー
XR Interaction ToolkitでUIを使用する
VR空間上に、ボタンやチェックボックス、テキストなどのUI部品を配置して、PCアプリケーションのような入力を可能にします。UI部品自体は、Unityに用意されているものを利用します。XR Interaction Toolkitでは、UI部品を貼り付けるCanvasとして、XR用のものが用意されているので、これを使用してUI部品を貼り付けます。
ボタン、チェックボックス、スクロールバーを用意して、入
XR Interaction ToolkitとInput System
これまでの記事では、XR Interaction Toolkitでコントローラーを使用する場合、Action-basedのInput Systemを使用し、サンプルで用意されているアクションのマッピング(ActionMap)を適用してきました。
Input Systemは、ActionMapを用意しなくても使用できるので、ActionMapを使用しない方法と独自のActionMapを作成して使用す
XR Interaction Toolkitでコントローラーを振動させる
仮想空間上の物体に触ったり、コントローラーのトリガーボタンやグリップボタンなどを押下した時に、手応えがあるとより没入感が高まります。
この手応えを表現する方法として、Oculus Questでは、コントローラーを振動させる事ができます。
コントローラーを振動させるには、振動を発生させるイベント(物体と接触した、ボタンが押下された等)に対して、振動するようにスクリプトを作成します。
具体的には、XR
XR Interaction Toolkitで物を直接掴む
仮想空間上の物体にコントローラーを近づけて、直接掴めるようにします。前回と同様に掴まれる物体には、XR Grab Interacableコンポーネントを設定し、コントローラーには直接掴めるようにする為のXR Direct Interactorコンポーネントを設定します。
さらに、コントローラーに対して物体に接触している事を判定する為にコライダーを設定し、物体と接触している事が見た目で分かるようにモ
XR Interaction Toolkitで指定した物を掴む
コントローラーが示した物体を掴めるようにします。コントローラーで掴めるようにするには、掴まれる物体にXR Grab Interacableコンポーネント、コントローラーにXR Ray Interactor又はXR Direct Interactorコンポーネントを設定する必要があります。
XR Ray Interactorは、コントローラーから線(Ray)を伸ばして線が当たった対象を掴みます。XR
XR Interaction Toolkitでコントローラーを表示する
Unityが提供しているXR Interaction Toolkitを使用して、コントローラーを表示します。
Oculus Integrationでは、OVRPlayerControllerにコントローラーのモデルが付属しており、デフォルトで設定済みなので、OVRPlayerControllerを使用する事で、特に意識せずに表示されます。
しかし、XR Interaction Toolkitでは、
XR Interaction Toolkitでテレポートする
Unityが提供しているXR Interaction Toolkitを使用して、コントローラーのグリップのボタンを使用してテレポートできるようにします。
テレポート先を作成し、コントローラーから伸びる線(Ray)を当てる事で、テレポート先を指定、グリップのボタンを押下する事でテレポートします。
テレポート先が選択されているかどうかは、Rayの色(赤から白)で判断します。
前回の連続的に視界が変化す
XR Interaction Toolkitで移動する
Unityが提供しているXR Interaction Toolkitを使用して、コントローラーのスティックを使用して移動ができるようにします。
Unityのキーボードやマウス、コントローラーなどからの入力を受け付ける仕組みとして、Device-basedのInput ManagerとAction-basedのInput Systemの二つがあります。Action-baseの方は、最近できたもので、
XR Interaction Toolkitを使用してみる
Oculus Quest2上で、VRプログラムを作成する為のツールとして、Oculusから提供されているOculus Integrationの他にも、MRTK(Mixed Reality Toolkit)やVRTK(Virtual Reality Toolkit)などがあります。
ここでは、Unityが提供しているXR Interaction Toolkitを使用してみます。まだ、プレビュー版です
Oculus Quest2で自作プログラムを動かす最初の一歩
Oculus Quest2上で自作のプログラムを作成して動かしてみます。
プログラムの内容は、キューブ(正六面体)をVRヘッドセッドから通して眺めるだけの簡単なものです。Oculusから提供されているOculus Integrationを使用する事で、1行のコードも記述する事なく、実現する事ができます。
開発環境の設定に関しては、Oculus開発者公式ページに記載されていますので参考にしてください
Oculus QuestにWi-Fiでアクセスする方法
Unityなどで開発したVRアプリをOculus Questにインストールする場合、開発機とUSBで接続する方法が一般的ですが、Android Device Bridge(ADB)を使用する事で、Wi-Fi経由でインストールする事が可能になります。実機確認時の有線の煩わしさから解放されます。
adbコマンドについてWi-Fi経由のADBの接続方法については、Oculus開発者用のドキュメントに説