シェーダーとして深度情報にアクセスして表示する
通常、ARアプリケーションでカメラフレームを扱う際には、カメラに合わせた変換マトリックス(表示マトリックス)を使用して、アスペクト比がアプリケーションのビューポートに一致するようにする必要があります。 深度画像とAR背景画像のアスペクト比が一致している場合、AR Foundationでは表示マトリックスを AROcclusionManager.environmentDepth
に適用し、適切な解像度の深度マップテクスチャを出力することができます。 Lightshipでは、 LightshipOcclusionExtension
でこれらのプロパティを分離することで、 DepthTexture(テクスチャ自体)
と DepthTransform(表示マトリックス)
の両方を使用できます。 このように変換マトリックスを個別に保存することで、デバイスから深度情報が取得できなかったカメラフレームに対しても、補正が可能なワーピングデータを追加することができます。
この入門ガイドでは、以下の内容について説明します。
- フルスクリーン画像を表示するためのUIとシェーダーリソースを設定する。
- 深度テクスチャにアクセスする。
- テクスチャを画面に合わせる画像変換マトリックスを取得する。
- 深度テクスチャとその画像変換マトリックスをレンダリングリソースに適用する。
- メトリック深度を色スケールに数値変換する(深度情報の活用例)。