こんにちは。セキド吉田です。
今回は通常の「3D Gaussian Splatting(ガウシアン スプラッティング、以下「3DGS」)」と、XGRIDS社が開発した「Lixel CyberColor(リクセル サイバーカラー、以下「LCC」)」の違いについて解説していきます。
また、LCCをUnityやUnreal Engine(UE)といったゲームエンジンにインポートする方法についても、解説いたします。
XGRIDSについては以下のコンテンツをご覧ください。
ハンディ3Dスキャナー XGRIDS Lixelシリーズをレビュー!
XGRIDS Lixel CyberColor(LCC)とは?
XGRIDS Lixel CyberColor(LCC)とは、3Dコンテンツ制作の未来を切り開く革新的なテクノロジーです。LCCは、自社開発のマルチSLAMアルゴリズムと、最適化された3DGS技術を組み合わせることで、従来の3Dモデリング手法を大幅に進化させました。
SLAMや3DGSについては、こちらの記事でも紹介していますので、併せてご覧ください。
3D空間を再現する3D Gaussian Splattingとは?
従来の3Dモデルとの違いを解説
LCCは、広大な空間や複雑な環境でも、超リアルな3Dモデルを生成できます。さらに、XGRIDSはUnityやUnreal Engine(UE)、Webなどの主要プラットフォーム向けにプラグインやSDKを提供し、開発者の利便性も大幅に向上しています。
通常の3DGSとLCCの違い
1.複雑な環境での再現性
通常の3DGSでは、低照度環境や複雑な環境の場合、特徴点が見つけられず、色彩や細部の精度が失われがちです。LCCは、LiDARや可視光カメラなどを合わせる「マルチSLAM」使用した3Dモデリングアルゴリズムにより、細部のディテールや色彩を忠実に再現し、リアルで自然な質感を表現します。
2.モデル生成のパフォーマンス
従来の3DGSでは、大規模なモデルの生成時に時間とリソースが必要でした。LCCはマルチSLAMの並列処理により、広範囲のスキャンとモデル生成を高速かつ効率的に実行します。
3.ファイルサイズ・容量
LCCは特許取得済みの技術により、通常の3DGSデータよりも最大90%削減し、品質を損なうことなくファイルサイズが小さくなります。

Unityへのインポート方法
1.用意するもの
・Unity
LCC Unity SDK は、Unity 2022.3 LTS および Unity 6.0 をサポートしており、互換性テスト済みです。
・LCC Unity SDK
LCC Unity SDKは、XGRIDSが提供する公式開発キットで、LCCおよびPLY形式のファイルのUnityへのインポートをサポートしています。データのインポート、レンダリング、レイキャスティング、ポイントクラウドの切り替え、クリッピングボックスなど、その他多くの一般的な機能を簡単に利用できます。
LCC Unity SDK ダウンロード
[XGRIDS Developerサイト]
2.LCC SDK のインポート
1)Unity 2022.3 LTS または Unity 6.0 を使用して、3Dプロジェクトを作成します。
(Built-in、URP のどちらもOK)
2)Unityで、[Window]→[Package Manager]からパッケージマネージャーウィンドウを開きます。
以下に示すように、ウィンドウの左上隅にある[Add package from disk…]を選択します。

3)フォルダーを開くダイアログで、LCC SDK プラグイン パッケージへのパスを指定します。
「package.json」ファイルを選択して、[開く]ボタンを押します。

4)Unityで、LCC SDK プラグインのインポートが開始します。インポートが完了したら、プラグインのインポートパネルで[Samples]を選択して、サンプルをインポートしてください。

3.グラフィックスAPI設定
1)Unity で、[Edit]→[Project Settings]→[Player]から設定パネルを開きます。
2)デスクトッププラットフォームタブで、[Other Settings]を選択し、[Auto Graphics API for Windows]のチェックを外し、グラフィックス API として DirectX12、DirectX11、Vulkan を追加します。
Mac プラットフォームの場合は、[Auto Graphics API for Mac]のチェックを外し、Metal グラフィックス API をそのままにします。
Linux プラットフォームの場合は、[Auto Graphics API for Linux]のチェックを外し、Vulkan グラフィックス API をそのままにします。

4.サンプルからシーンを開く
デフォルトでは、Project > Samples > LCC SDK > XXX > LCC SDK > LCCViewer にあります。
※XXX はプラグインのバージョン番号です。

5.ファイルパスを指定する
Hierarchyの LCCRenderer ゲームオブジェクトを選択します。
Inspectorパネルから、LCC Renderer スクリプトのファイルパスディレクトリをデータディレクトリに指定します。

以下に示すように、meta.lcc(meta.splat)に直接指定されていることを確認します。
・windows(“\\” が必要): G:\\GaussianSplat\\0315-art-center\\meta.lcc
・Mac(「/」が必要):/users/data/lcc/meta.lcc
・サーバー(“/”が必要): https://xgus1.blob.core.windows.net/lcc-pub/Tower/meta.lcc
6.再生ボタンを押す
再生ボタンをクリックしてUnityでプログラムを実行すると、レンダリングされたシーンが表示されます。
Unreal Engineへのインポート方法
1.用意するもの
1)Unreal Engine
Unreal Engine 5.1.0 以降をサポートしています。
LCC Unreal SDKは、Xgridsが提供する公式開発キットです。指定されたディレクトリからLCC形式のファイルを読み込み、UE5でレンダリングするために設計されています。現在、エディタ内での移動、回転、スケーリングといった基本的な編集操作をサポートしており、デプロイされたアプリケーションでレンダリングするためのプラグインをパッケージ化することも可能です。
LCC Unreal SDK ダウンロード
[XGRIDS Developerサイト]

2.プロジェクトの作成
プロジェクトテンプレートを選択し、プロジェクトを作成します。後でパッケージ化してリリースする必要がある場合、C++プロジェクトを作成する必要があります。それ以外の場合は、任意のテンプレートを選択できます。

上記の例では、C++ プロジェクトを選択しています。プログラムを再度リリースしてパッケージ化する必要がない場合は、blueprintプロジェクトでも可能です。
3.プラグインをインポートする
以下の画像は C++ プロジェクトのディレクトリです。
blueprintプロジェクトを作成する場合、ソース ディレクトリ、.vs ディレクトリ、sln ファイルは存在しません。

1)プロジェクトディレクトリにPluginsフォルダを作成します。
2)LCC4UnrealプラグインをPluginsディレクトリにコピーします。
※プラグインディレクトリ名がLCC4Unrealであることを確認してください。

3)プロジェクトディレクトリ内の「Intermediate」フォルダを削除します。
※後でファイルが再生成されるため、プロジェクトの整合性には影響しません。

4)新しいIntermediateと sln を再生成します。
※この手順は C++ プロジェクトのみに該当します。ブループリント プロジェクトではこの操作は必要ありません。

4.LCCを配置する
1)LCCActorを検索します。

2)LCCActorをシーンに配置します。

3)下の画像の「1」の「2」に、LCCデータのメタファイルのフルパスファイル名を入力します。または「LCCファイルの選択」ボタンをクリックします。

※v0.6.0より前は、絶対パスの読み込みのみがサポートされていました。ただし、v0.6.0以降のバージョンでは絶対パスと相対パスの両方の読み込みがサポートされています。
・絶対パス読み込み:

・相対パスの読み込み(プロジェクトのコンテンツディレクトリからの相対パス):

5.パッケージ化とリリース
1)Project Settingsを選択します。

3)Default Mapsを設定します。

3)パッケージ化対象とビルド条件を設定します。



4)Cook Contentを選択します。

5)パッケージ対象物の種類に応じてパッケージ化します。

XGRIDS LCCの活用メリットと応用事例
ゲームや映像制作
建築、建設、エンジニア
お問い合わせ
XGRIDS Lixelシリーズについて、製品の詳しい資料やお問い合わせなどがございましたら、こちらのフォームよりお問い合わせください。

専門スタッフによるサポートも行っておりますので、機能の詳細はもちろん3DGSやLCCのご相談などお気軽にお問い合わせください。