2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

UnityとMeta Quest2 / Pro でMR表現を試す(2)

Last updated at Posted at 2023-03-25

はじめに

この記事は、UnityとMeta Quest2 / Pro でMR表現を試す(1)の続きとなります。

Meta QuestでMR表現を実現する技術として、シーンモデル、シーンキャプチャ、シーンAPIという概念があります。

大雑把に言ってしまうと、以下のような関係になるのでしょうか。

シーンモデル

シーンキャプチャで設定された空間にアンカーを設置することで、現実世界のオブジェクトを認識する

シーンキャプチャ

現実世界の壁や家具など部屋の構造を取り込む

現在は手動で行う必要があるルーム設定機能のお話です。
詳しくは割愛しますが、Quest2 / Pro の「設定 > 試験中 > ルーム設定」メニューから壁や家具の設定を行うことができます。

シーンAPI

シーンモデルをUnityで利用するために提供されているインターフェース

シーンモデルの利用設定

シーンアンカーのサポートを許可

Assets > Oculus > OculusProjectConfig
Anchor Support を「Enabled」に設定
スクリーンショット 2023-03-25 144819.png

現実世界のオブジェクトにシーンアンカーを設置することで、現実世界のオブジェクトを利用できるようになります

OVRSceneManagerの設置と設定

Assets > Oculus > VR > Prefabs > OVRSceneManager
このプレファブが、シーンキャプチャで設定した壁や家具を認識して、シーンアンカーを設置してくれます。

現在、以下の種類分けがされているようです

  • Floor
  • Ceiling
  • WallFace
  • Desk
  • Couch
  • DoorFrame
  • WindowFrame
  • Other
  • Storage
  • Bed
  • Screen
  • Lamp
  • Plant

スクリーンショット 2023-03-25 145501.png

Plane Prefabの設定

「Floor(床)」「Ceiling(天井)」「Walls(壁)」に設定するプレファブの指定

これは、ルーム設定で壁を設定することで決定されます

必ず、シーンアンカー(OVRSceneAnchor)のコンポーネントがアタッチされているものを指定します。
ここでは、SampleFramework パッケージに含まれているInvisiblePlaneを指定します。
シーンアンカーとコライダーのシンプルな構成です。

Assets > Oculus > SampleFramework > Usage > SceneManager > Prefabs > InvisiblePlane
スクリーンショット 2023-03-25 151302.png
スクリーンショット 2023-03-25 151318.png

Volume Prefabの設定

「Floor(床)」「Ceiling(天井)」「Walls(壁)」以外 に設定するプレファブの指定

必ず、シーンアンカー(OVRSceneAnchor)のコンポーネントがアタッチされているものを指定します。
ここでは、SampleFramework パッケージに含まれているInvisibleVolumeを指定します。
これもシーンアンカーとコライダーのシンプルな構成です。

スクリーンショット 2023-03-25 151502.png
スクリーンショット 2023-03-25 151540.png

特定の種類に別のプレファブを設定

ここでは、「Desk(机)」に別のプレファブを設定する例を示します。
Prefab Overridesの項目で設定が可能です。

  1. InVisibleVolume を設置
    スクリーンショット 2023-03-25 223446.png
  2. Cubeプリミティブを設置し、Colliderオブジェクトと同じ位置に修正
    既にコライダーが存在するので、CubeのBoxColliderは削除する
    スクリーンショット 2023-03-25 235802.png
  3. InVisibleVolume の名称を適当に変更(ここでは、Deskに変更)
  4. DeskをPrefab化
  5. HierachyのDeskを削除
  6. Prefab OverridesにDeskを設定
    スクリーンショット 2023-03-25 224505.png

シーンモデルの確認

ここまでで、シーンモデルの設定は完了していますので、コライダーとリジッドボディのついたCGを設置して、ビルドしてみます。

スクリーンショット 2023-03-25 221736.png

床と机が認識されていることがわかるかと思います。

SceneModel.gif

参考になれば、幸いです。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?