シェーダーとして深度情報にアクセスし表示する方法
拡張現実アプリケーションでカメラに関連する画像を扱うには、通常、画像と対になった変換行列を扱うことが含まれる。 その理由は、カメラ画像のアスペクト比がアプリケーションのビューポートのアスペクト比と一致することが保証されていないからです。 ほとんどの場合、ビューポートはアプリケーションを実行するデバイスの画面全体をカバーする。 画像が歪むのを避けるため、表示する前にトリミング、パディング、あるいは回転させる必要がある。 AR背景画像の場合、上記の変換は表示行列を介して行われる。 このマトリクスは、深度画像とAR背景画像の縦横比が同じであれば、深度画像の表示にも使用できる。 AR Foundationを使って深度画像を取得する標準的な方法は、 Lightshipを使用する場合、さらに このハウツーでは、フルスクリーンで深度テクスチャにアクセスして表示する従来の方法とLightshipのアプローチの両方を紹介します。 このハウツーでは、次のことをカバーする:
|
前提条件
ARDKがインストールされたUnityプロジェクトと、セットアップされた基本的なARシーンが必要です。 詳細については、 ARDK 3のインストール および ARシーンの設定を参照してください。 また、NianticはUnityエディターでテストできるようにPlaybackを設定することを推奨しています。
ARオクルージョンマネージャーの追加
ARFoundationでは、AR Occlusion ManagerMonoBehaviourが深度バッファへのアクセスを提供します。 プロジェクトにARオクルー ジョンマネージャーを追加する:
- メインカメラの
GameObjectに
AROcclusionManagerを
追加します:- Hierarchyで、
XROrigin
と Camera Offsetを展開し、 Main Camera オブジェクトを選択します。 次に、 Inspectorで、 Add Component をクリックし、AROcclusionManager
を追加します。
- Hierarchyで、
Lightship Occlusion Extensionの追加
拡張機能を追加する:
LightshipOcclusionExtension
をメインカメラGameObject
に追加します。- Hierarchy で、
XROrigin
を展開し、 Main Camera を選択します。 次に、 インスペクタ で、 コンポーネントの追加 をクリックし、Lightship Occlusion Extension
を追加します。
- Hierarchy で、