深度
ARDKの深度推定は、現実世界の各ピクセルを示す深度マップを生成し、デバイスのカメラから画面上の各ピクセルまでの実際の距離(メートル単位)を推定する機能です。 この機能には、以下のようなさまざまな使用例があります(ただし、これらに限定されません):
- オクルージョン用のzbufferに深度値を書き込む。
- 深度バッファから3次元位置をフェッチして、オブジェクトをワールドに配置する。
- メッシングシステムの一部としてメッシュを構築する。
- 被写界深度などの視覚効果を利用して、近くの被写体に焦点を合わせる。
これは深度カメラを使って、近くから遠くへ伝わる「パルス」を作り出す例である:
ARオクルージョンマネージャー
ARDK 3.0はUnityのAR Foundation Occlusion Subsystemと統合されています(新しいタブで開きます)。 XR設定でLightshipが有効になっていると、Lightshipの高度な深度を活用したサブシステムを実装することができます。 開発者としては、標準の AROcclusionManager (opens in new tab)をシーンに配置するだけです。
AROcclusionManager
のインターフェイスはAR Foundationと同じですが、オプションでできることは異なります:
- 環境深度モード: ライトシップでは、このパラメーターで、いくつかの修正されたニューラルネットワーク・アーキテクチャを選択できる:
- Medium: 当社独自の多重深度アーキテクチャを使用して深度を推定します。
- Best: 改良された多重深度のちらつき防止モデルを使用して深度を推定します。このアーキテクチャでは、前の時間ステップの深度マップを考慮します。
- Fastest: 小型だが、精度が低い可能性があるモデルを使用して深度を推定します。
- Temporal Smoothing(時間的スムージング): Lightshipではサポート対象外です。
- 人間のセグメンテーション:ライトシップには、人間を含む、より大きなアイテムのセグメンテーションのための独立した機能があります(セマンティック機能のページを参照)。 上記のオプションはLightshipでは使用しないため、 Disabled(無効) のままにしておきます。
- オクルージョン優先モード: 通常、環境オクルージョンと人間オクルージョンを切り替える場合に使用するモードです。 Lightshipでは、このモードを No Occlusion(オクルージョンなし) に切り替え、オクルージョンをオフにする場合のみ使用します。