MRTK のサンプルシーンに ARCore Depth API を適用して Environment Occlusion をしてみた 【MRTK 2.4, AR Foundation 4.1】
こちらの記事の続きです. xrdnk.hateblo.jp
MRTK のサンプルシーンに ARCore Depth API を適用しました. これにより深度情報が加わります.
使用環境
Software
- Unity 2019.4.1f1
- MRTK 2.4
- AR Foundation 4.1.0-preview.2
- ARCore XR Plugin 4.1.0-preview.2
- ARKit XR Plugin 4.1.0-preview.2
上記のPackageを事前にImport済とする.
Hardware
- Pixel 4
Mac機を所持してないため,Androidのみの検証となってます.
事前環境構築
前回の記事の手順通りに進めます.
追加手順
至って簡単で,Mixed Reality Playspace の子である Main Camera に AR Occlusion Manager スクリプトをアタッチすればOKです.
AR Session Origin ありますよね. その子にAR Cameraがありますが,そこにAR Occlusion Managerスクリプトをアタッチすれば良いことと同様です.
Main Cameraに AR Occlusion Manager をアタッチすればOK牧場
AR Occulusion Manager
AR Foundation 4.1 版であることに注意.それ以前はScripting APIが変わってます.
Environment Depth Mode
環境オクルージョン用のデプス画像レンダリング品質の設定.
Disabledの場合だとDepth Textureが生成されない.
Fastest < Medium < Best で右に行くほど品質は上がるが,フレームの計算が増加していく.
Human Segmentation Stencil Mode
ピープルオクルージョン用のステンシル画像レンダリング品質の設定.
ピープルオクルージョンを今回考慮しないので,今回 Disableにしています. 同様に,Fastest < Medium < Best で右に行くほど品質は上がるが,フレームの計算が増加していく.
Human Segmentation Depth Mode
ピープルオクルージョン用のデプス画像レンダリング品質の設定.
ピープルオクルージョンを今回考慮しないので,今回 Disableにしています. 同様に,Fastest < Medium < Best で右に行くほど品質は上がるが,フレームの計算が増加していく.
Occlusion Preference Mode
Prefer Environment Occlusion と Prefer Human Occlusion があります. 今回はピープルオクルージョンを考慮しないので,Prefer Environment Occlusion にしてます.
動作確認
MRTK サンプルシーンと ARCore Depth API を組み合わせてみた pic.twitter.com/7PeaZRFP8P
— xrdnk (@xrdnk) 2020年6月28日
MRTKのサンプルシーンにオクルージョンできた.