OculusのVR空間で物をつかむ実装方法を調べてみました。(Unity)
Oculus Questのチュートリアルアプリでキュープをつかむ練習があります。Unityで物をつかむ実装方法を調べてみました。
Unity 2018.4.0f1で新規プロジェクトを作成してAsset StoreからOculus Integrationをインポートします。
Oculus Integrationの中にコントローラーでキューブをつかむ AvatarGrab サンプルがあります。以下の場所の AvatarGrabを開きます。
AvatarGrab の場所
Assets\Oculus\SampleFramework\Usage\AvatarGrab
この状態でビルドしてOculusQuestで動作確認してみます。
(ビルド前にいくつか設定が必要です。ビルドについてはUnityでOculus Quest向けのビルドを試してみる。の参照でお願いします。)
コントローラーの位置に手が表示します。手をキューブに触れる位置において、コントローラーでつかむ動作でキュープをつかむことができました。
■新規シーンを作り「手でつかむ」実装方法を学習してみます。
新規シーンを作ります。Main Cameraを削除してLocalAvatarWithGrabプレハブを追加します。
LocalAvatarWithGrab の場所
Assets\Oculus\SampleFramework\Core\AvatarGrab\Prefabs\LocalAvatarWithGrab
LocalAvatarWithGrabのInspectorのTransformのPosition、Rotationが全て数値が0になっていることを確認と、ディフォルトはアバター表示するのでEnable Bodyのチェックを外してアバターを非表示にします。
シーンに床とテーブルと手でつかめるキュープを追加します。
床はPlaneを追加します。
テーブルはCubeを追加してマテリアルを赤色に設定します。
テーブルの上に手でつかめるキュープを追加してみます。
Cubeを追加します。追加したCubeのInspectorにRigidbodyとOVRGrabbableを追加とマテリアルを青色に設定します。
以上で完成です。
ビルドしてOculusQuestで動作確認してみます。
青色のキューブを手でつかむことができました。
次回はOculusQuestの描画性能について調べてみたいと思います。
この記事が気に入ったらサポートをしてみませんか?