セマンティック
セマンティック セグメンテーションとは、画像内の特定の領域にラベルを割り当てる処理です。 環境をより豊かに理解することで、さまざまな創造的なAR機能が可能になる。 例えば、ARペットが地面を識別して走ったり、AR惑星が空を埋め尽くしたり、現実世界の地面がAR溶岩に変わったりすることができます!

変更点
ARDK 3は、新しいXRSemanticsSubsystemクラスを通して、このユニークな機能を提供します。 ARSemanticSegmentationManager は、このサブシステムのデータを MonoBehaviour として利用可能にし、サブシステムのライフサイクルを管理します。 ARDKでは、これらのクラスを通じて、次の2つの形式でセマンティック予測を行うことができます。
- "packed semantic channels "と呼ばれる、ビューポート内の各ピクセルの符号なし整数のバッファ。 各整数の32ビットはセマンティックチャンネルに対応しており、そのチャンネルに属するオブジェクトがピクセルに存在する場合は有効(値が1)、存在しない場合は 無効(値が0)になります。 1つのピクセルに複数のラベル(例:
ground
とnatural_ground
)を含めることができます。

- セマンティックチャンネルごとに、ビューポート内の各ピクセルに対応する正規化(0~1の間)の浮動小数点値のバッファがあります。 これらの浮動小数点値は、そのピクセルが指定されたセマンティックチャンネルとして分類される確率を示します。
Unityシーンへの統合
デフォルトでは、 ARSemanticSegmentationManager
はシンプルで、Inspectorウィンドウにはフレームレート設定のパラメーターが1つだけ公開されています。

ARSemanticSegmentationManager
そのものは複雑ではありませんが、Lightshipの他のコンポーネントの機能の中には、シーン内にこのコンポーネントが存在し、かつアクティブであることが必要なものがあります。 たとえば、次のようなものがあります。
- LightshipOcclusionExtensionにおけるオクルージョン抑制
- LightshipMeshingExtensionにおけるメッシュ・フィルタリング