2023/10/18
Lens StudioでSegmentationを使って部分マスクをやってみる
Segmentationとは
シーンの特定の領域を表示または非表示にすることができます。
例えば、背景を非表示にして、別のテクスチャを表示すると、以下のようなARを作成することができます。
Segmentationを追加する
まずは、新しいプロジェクトを作成します。
Resourcesパネルから Texture -> Segmentation Textures -> Portrait Background を追加します。
Segmentationの種類
今回は、冒頭で紹介した背景切り抜きができるPortrait Backgroundを選択しました。
Lens Studioには他にも、Segmentationを提供しているので、その種類について紹介します。
Portrait Background - 人物の背景をマスクします。
Portrait Hair - 人物の髪以外のすべてをマスクします。髪に色を付けたり、テクスチャを適用できます。
Portrait Shoulder - ユーザーの肩以外のすべてをマスクします。
PortraitFace- ユーザーの顔以外のすべてをマスクします。これにはユーザーの髪の毛は含まれません。
Portrait Head - すべてアウトマスクが、ユーザの頭部。これにはユーザーの髪の毛も含まれます。
Sky - 空以外のシーンのすべてをマスクします。
Body - シーン内のすべてをマスクしますが、人の全身をマスクします。ユーザーの背後に何かを置きたい体験に最適です。
Segmentationの設定
Resourcesパネルにある、先ほど追加したPortrait Background Segmentationを選択すると、Inspectorパネルに設定画面が表示されます。
Inspectorパネルの下部には、Previewが表示され、どこがマスクされているか確認することができます。便利!
では、次にそれぞれの調整パラメーターについて解説します。
Invert Mask
チェックを入れると、マスク部分を反転できます。
Feathering
マスク際のフェザリング加工の強弱を調整することができます。
Refine Edge
エッジをリファインすることができます。これを有効にすると、後処理アルゴリズムがセグメンテーションに適用され、より高品質なマスクが可能です。ほとんどの場合、「Refine Edge」を使用することをお勧めします。
カメラをマスクする
では、ついに背景を切り抜く設定をしていきます。
ObjectsパネルでCameraを選択し、Mask Textureに先ほど作成したPortrait Background Segmentationを設定します。
早速、マスクできているかテストしてみましょう。
試しに、以下のように、球体オブジェクトを配置すると、人物の背後に球体が表示されることがわかると思います。
XR エンジニア
Ivan Stephanus
複数のスタートアップでフルスタックエンジニアとして経験を積む。「THE Global Mobile Games Conference」ブロックチェーンゲーム部門で入賞。2019年にOnePlanetに入社。最先端のAR技術を活用した新しい顧客体験の創造に挑んでいる。
View More