UE5 3DGS プラグインのよくある質問
どのデータ形式に対応しているか?
LCC2(.lcc2)、LCC(.lcc)、SOG(.sog)、SPZ(.spz)、PLY(.ply)。
どの UE バージョンに対応しているか?
UE 5.4 ~ 5.8。
どのプラットフォームに対応しているか?
Windows (Win64)、Linux。macOS、Android、iOS には非対応。
Linux Arm64 に対応しているか?
現在リリースされているプラグインバージョンは Windows から Linux Arm64 へのクロスコンパイルに対応していない。
Linux ネイティブ版のプラグインはあるか?
ある。ただし開発者プラットフォームからはダウンロードできない。Linux 版が必要な場合は sdk@xgrids.com にメールで申請する。メールテンプレート:
- 会社名:
- 用途:プラグインの使用目的
- エンジンバージョン:必要な Unreal Engine バージョン
- 認知経路:プラグインをどこで知ったか
カスタムのエンジンバージョンで使えるか?
公開されているプラグインパッケージは Epic が公式にリリースしたエンジンにのみ適用できる。ベンダーのカスタムブランチ(NVIDIA RTX ブランチなど)、UE をベースに二次開発された商用エンジン(Pixotope など)、およびソースを独自に改変したエンジンはいずれもカスタムの対応が必要になる。詳しくは カスタムエンジンバージョン を参照する。
LCC と LCC2 の違いは何か?
LCC パイプラインは旧バージョンの実装で、ブロック単位のストリーミング読み込みを使う。LCC2 パイプラインは現在の主力パイプラインで、深度の出力、LOD 八分木、法線生成などの新しい機能に対応する。単一ファイル形式(SOG/SPZ/PLY)は内部で LCC2 パイプラインを使う。
Actor はどう選ぶか?
.lcc2ファイル → ALCC2Actor.lccファイル → ALCCActor.sogファイル → ASogActor.spzファイル → ASpzActor.plyファイル → APlyActor
相対パスに対応しているか?
対応する。相対パスはプロジェクトの Content ディレクトリからの相対になる。他のマシンに配布する場合は必ず相対パスを使う。
プラグインはオープンソースか?ソースを変更できるか?
オープンソースではない。プラグインはバイナリ形式で配布され、コンパイル済みのモジュールと公開 API のみを提供し、ソースコードは提供しない。
バイナリのプラグインであるため、プラグインディレクトリ内の Intermediate フォルダーは削除できない。プロジェクトの Intermediate は再生成できるが、プラグインのものは削除すると再生成できず、プラグインパッケージを再ダウンロードするしかない。
PLY のインポートに対応しているか? PLY に何か要件はあるか?
対応するが、形式に要件がある。
- 標準の 3DGS 形式の PLY であること
- 球面調和は 0 次と 3 次に対応(3 次は 45 個の coefficients)
- 属性の型は
floatであること - 属性の順序が標準の 3DGS と一致していること
- Normal 属性はあってもなくてもよい
これらの条件を満たさない PLY(サードパーティのツールが出力した非標準の派生形式など)は、先に標準形式へ変換する必要がある。通常のジオメトリ点群の PLY は読み込めない。
注:次のバージョンで 1 次と 2 次の球面調和に対応する予定である。
また PLY は LOD もブロック分割も持たないため、大規模シーンでは LCC2 形式に変換して使うことを推奨する。
Android へのパッケージ化に対応しているか?
現在のバージョンでは Android プラットフォームへの直接のパッケージ化に対応していない。VR デバイスで使う必要がある場合は、PC 側で実行してストリーミングする方式を使う。クイックスタート - Quest3 を参照する。
正射投影ビューに対応しているか?
レンダリングモードによって異なる。
- 点群モード:対応する。正射投影ビューでもトップビューでも正常に表示される
- 3DGS モード:非対応。正射投影ビューでは内容が見えない
正射投影ビューでシーンを見る必要がある場合(平面図やトップビューを作るときなど)は、RenderMode を Point Cloud に切り替える。
鏡面マテリアルは 3DGS を反射できるか?
対応しない。反射の効果が必要な場合(バックミラーなど)は、エンジンの SceneCapture2D コンポーネントで画面をキャプチャして代替する。
通常の Mesh モデルと融合してレンダリングできるか?
対応する。典型的な方法は、クリッピングのツールで 3DGS の置き換えたい部分を取り除き、そこに作り替えた Mesh をクリッピング領域内に置くことである。プラグインが深度とオクルージョンの関係を自動的に処理する。
Mesh のマテリアルは不透明(Opaque)に設定することを推奨する。半透明のマテリアルでは深度のソートの問題が出ることがある。クリッピングの縁は Mesh の境界より少しはみ出させることを推奨する。
3DGS 上のある点の緯度経度を取得できるか?
プラグインは座標変換のインターフェースを直接提供しないが、自分で計算できる。.lcc2 の記述ファイルには epsg と offset の情報が含まれており、GetRTKBaseLocation と地理参照系の変換方法を組み合わせれば換算できる。
LCC Studio の注記をプラグインで表示できるか?
できない。注記は attrs.lcp ファイルに保存されており、プラグインはこのファイルを解析しないため、業務側で読み取ってレンダリングする必要がある。
LCC Scene Editor で設定したスカイボックスを UE に持ち込めるか?
できない。ここでは混同されやすい 2 つの概念を区別する必要がある。LCC のシーンで見える「空」は実際には別々の 2 か所に由来する。
| 環境データ(Environment Data) | スカイボックス(Skybox) | |
|---|---|---|
| 何であるか | 再構築時に自動生成されるシーンの環境背景で、遠くの空や遠景を含む。本質的には「環境」とマークされた 3DGS のガウス点である | LCC Scene Editor でプリセットのテンプレートによって差し替えた背景の効果 |
| データ自体に属するか | 属する。LCC データと一緒に保存される | 属さない。Editor 上での重ね表示の機能にすぎない |
| プラグインは対応するか | レンダリングに対応する | 非対応。データと一緒には持ち込まれない |
つまりプラグインは再構築で得られた環境背景をレンダリングできるが、Editor で差し替えたスカイボックスのテンプレートは一緒には持ち込まれない。
UE で空の効果を作る必要がある場合は、Sky Atmosphere、SkyLight、独自のスカイボックスマテリアルなど、エンジン自身の手段を使う。環境データだけを見たい場合は、LoadMode が Both(既定値)になっていることを確認する。OnlyMain に設定すると環境の部分が隠れる。読み込みモード を参照する。
C++ からの呼び出しに対応しているか?
対応する。build.cs に LCC4UnrealRuntime モジュールの依存関係を追加すればよい。
コリジョンに対応しているか?
.lcc と .lcc2 は対応し、データにコリジョンファイルが付属している必要がある。.sog、.spz、.ply はコリジョンデータを含まないため、Blocking Volume や近似メッシュで自分で用意する必要がある。詳しくは コリジョン を参照する。
nDisplay に対応しているか?
対応する。ALCCActor(LCC パイプライン)を使う場合は Default Traversal Type を Circle に設定してエディターを再起動する必要がある。LCC2 パイプラインは既定のままでよい。詳しくは サードパーティおよびエンジンプラグインとの連携 を参照する。
VR に対応しているか?
ステレオレンダリング(InstanceStereo)に対応する。
クリッピングボリューム / 断面プレーンは結局いくつまで置けるか?
| ライセンス | 有効な個数 |
|---|---|
| 無償版 | 各種類 50 個 |
| Pro 版 | 各種類 65536 個 |
2 つの種類は個数が別々にカウントされ、互いに枠を消費しない。ライセンスの説明は エディションとライセンス を参照する。
具体的な不具合に遭遇したときは?
このページは相談タイプの質問にのみ答える。すでに具体的な現象が出ている場合(画面が表示されない、ちらつく、フレームレートが低い、パッケージ化の異常など)は、トラブルシューティング で現象から特定する。
ログの確認やデバッグツールの使用については ログと診断 を参照する。
他にも質問がある場合は?
お問い合わせ を参照する。テクニカルサポートのメールアドレス、開発者プラットフォーム、Discord コミュニティから支援を受けられる。