AR Mesh Manager コンポーネント
一部のプラットフォームは、スキャンした現実世界のジオメトリに基づきメッシュを生成する、メッシュ作成機能を備えています。Mesh Manager は、サポート対象のプラットフォームでこの機能を有効にし、設定します。
要件
メッシュ作成がサポートされているか確認するには、プラットフォーム固有のパッケージに関するドキュメントを参照してください。
また、すべてのデバイスが Mesh Manager のすべての機能に対応しているとは限りません。一部のプラットフォームでは、Mesh Manager のいくつかのプロパティが無視されます。各プラットフォームで利用できるメッシュ作成機能の詳細は、プラットフォーム固有のパッケージに関するドキュメントに記載されています。
シーンでのメッシュ作成機能の使用
AR Foundation でメッシュ作成機能を使用するには、ARMeshManager コンポーネントをシーンの XR Origin の子ゲームオブジェクトに追加します。
AR Mesh Manager コンポーネント
Mesh Prefab
meshPrefab を、スキャンしたメッシュごとにインスタンス化されるプレハブに設定する必要があります。meshPrefab には、少なくとも 1 つの MeshFilter コンポーネントが含まれていなければなりません。
スキャンしたメッシュをレンダリングする場合は、MeshRenderer コンポーネントと Material コンポーネントを meshPrefab のゲームオブジェクトに追加する必要があります。
現実世界でスキャンしたメッシュと物理的に相互作用する仮想コンテンツを含める場合は、MeshCollider コンポーネントを meshPrefab のゲームオブジェクトに追加する必要があります。
以下の画像は、必須の MeshFilter コンポーネント、物理的な相互作用を可能にする任意の MeshCollider コンポーネント、メッシュをレンダリングする任意の MeshRenderer および Material コンポーネントで設定したメッシュプレハブを表しています。
Density
Density プロパティは、生成されたメッシュに対して実行するテッセレーションの量を 0 から 1 までの範囲内で指定します。値 0 ではテッセレーションの量が最小限になるのに対し、値 1 では最も多くのテッセレーションが生成されます。
一部のプラットフォームでは、この機能がサポートされていません。
Normals
デバイスでメッシュジオメトリを構築するときに、メッシュの頂点法線を計算する場合があります。メッシュの頂点法線が必要ない場合は、メモリと CPU 時間を節約するために Normals を無効にします。
一部のプラットフォームでは、この機能がサポートされていません。
Tangents
デバイスでメッシュジオメトリを構築するときに、メッシュの頂点接線を計算する場合があります。メッシュの頂点接線が必要ない場合は、メモリと CPU 時間を節約するために Tangents を無効にします。
一部のプラットフォームでは、この機能がサポートされていません。
Texture Coordinates
デバイスでメッシュジオメトリを構築するときに、メッシュの頂点テクスチャ座標を計算する場合があります。メッシュの頂点テクスチャ座標が必要ない場合は、メモリと CPU 時間を節約するために Texture Coordinates を無効にします。
一部のプラットフォームでは、この機能がサポートされていません。
Colors
デバイスでメッシュジオメトリを構築するときに、メッシュの頂点色を計算する場合があります。メッシュの頂点色が必要ない場合は、メモリと CPU 時間を節約するために Colors を無効にします。
一部のプラットフォームでは、この機能がサポートされていません。
Concurrent Queue Size
メインスレッドのブロッキングを防ぐため、デバイスメッシュを Unity メッシュに変換するタスクと、物理演算の衝突メッシュを作成するタスク (meshPrefab のゲームオブジェクトに MeshCollider コンポーネントが含まれている場合) をジョブキューに移動し、バックグラウンドスレッドで処理します。Concurrent Queue Size には、同時に処理されるメッシュの数を指定します。