XGRIDSドキュメント
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • PortalCam

    • 製品概要
    • デバイスの基本操作
    • LCC Scan App の使用
    • メンテナンスとお手入れ
    • FAQ
  • Lixel K シリーズ

    • Lixel K1

      • 製品概要
      • デバイスの基本操作
      • デバイスのアクティベーションと接続
      • デバイス収集
      • 絶対座標のポイントクラウドデータを取得する
      • マップフュージョン
      • 典型的なシーンにおける経路計画の推奨
      • 注意事項
      • FAQ
    • Lixel K2

      • 製品概要
      • デバイスの基本操作
      • デバイスのアクティベーションと接続
      • デバイス収集
      • 絶対座標のポイントクラウドデータを取得
      • マップフュージョン
      • 典型的なシーンにおける経路計画の推奨
      • 注意事項
      • FAQ
  • Lixel L シリーズ

    • Lixel L2 Pro

      • 製品概要
      • デバイスの基本操作
      • デバイスのアクティベーションと接続
      • デバイス収集
      • 絶対座標のポイントクラウドデータを取得する
      • 実時計測機能
      • 付録
      • FAQ
  • Lixel Studio

    • バージョンと著作権
    • インストールとアクティベーション
    • ソフトウェアインターフェース
    • ファイル操作
    • プロジェクト処理
    • ツール
    • 2D 作図
    • 業界応用
    • 設定
    • デバイス接続
  • Lixel CyberColor

    • LCC Studio

      • はじめに
      • バージョンと更新
      • ダウンロードとインストール
      • インターフェース概要とナビゲーション
      • 再構築前の準備
      • モデル再構築
      • 単一モデル再構築
      • 地図合成
      • 空地融合
      • 航空撮影再構築
      • マイモデル
      • その他の機能
      • 設定とアカウント
      • Converter
      • 動画再構築
      • よくある質問 / FAQ
    • LCC Scene Editor

      • バージョンと更新
      • アカウントとサインイン
      • 製品概要とホーム画面
      • エディター画面
      • ナビゲーションモード
      • ファイル
      • 設定
      • 編集
      • ウィンドウ
      • グローバルツールバー
      • アセットとプロパティ
      • 左ツールバー
      • ビューポイント
      • ポータル
      • スカイボックス
      • アノテーション
      • 測定
      • フライスルー
      • シーンレポート
      • 3D レイアウト
      • ミニマップ
      • プレビューモード(Viewer)
      • ヘルプ
      • よくある質問(FAQ)
      • スポーンポイント
    • LCC Model Editor

      • バージョンと更新
      • ユーザーガイド
      • 概要とインターフェース
      • ファイル操作
      • セレクター
      • モデルの編集
      • 測定
      • カラーグレーディング
      • アセット管理
      • 設定とヘルプ
      • よくある質問
    • Capture Guide

      • 概要
      • 撮影デバイス概要
      • 一般的な撮影の原則
      • 屋内シーンの撮影
      • 屋外シーンの撮影
      • 大規模撮影(マップフュージョン)
      • 空地マップフュージョン撮影
      • オブジェクト撮影
      • 人物撮影
      • ビデオ再構築撮影
      • HD Enhancement
      • 制御点(Lixel P1)
      • FAQ とトラブルシューティング
    • バージョン履歴
  • プラグインと SDK

    • Unreal

      • 概要
      • クイックスタート - Windows
      • クイックスタート - Linux
      • クイックスタート - Quest3
      • エディションとライセンス
      • レンダリング
      • 画面調節
      • 法線とライティング
      • シーン編集
      • パフォーマンスパラメーター
      • パフォーマンス最適化ガイド
      • サードパーティおよびエンジンプラグインとの連携
      • プロキシメッシュ
      • 読み込みアニメーション
      • コリジョン
      • ナビゲーションシステム対応
      • Single layer water 対応
      • ローカライズ
      • よくある質問
      • トラブルシューティング
      • ログと診断
      • お問い合わせ
      • API リファレンス

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • SOG / SPZ / PLY Actors
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ULCCUtilLibrary
        • Enums
        • Structs
      • 更新履歴

        • v3.3.1
        • v3.0.0
        • v2.2.1
        • v1.0.0
        • v0.9.0
        • v0.8.0
        • v0.7.1
        • v0.6.1
        • v0.5.2
        • v0.4.1
        • v0.4.0
        • v0.3.0
        • v0.0.5
        • v0.0.4
        • v0.0.3
        • v0.0.2
        • v0.0.1

3DGS 画面パラメーターの調節

本編は 3 つの部分に分かれる。共通パラメーターは両方のパイプラインで使用できる。続いて各パイプライン固有のパラメーターを挙げる。これらは他方のパイプラインの Details パネルでは表示されない。

共通パラメーター

レンダリングモード

3D Gaussian Splatting(既定値)

2D ガウス楕円としてレンダリングし、完全なカラーと不透明度を持つ。

LCCComponent->SetRenderMode(ERenderMode::Splatting);

点群

各 Splat を 1 つの色付きの点としてレンダリングする。全体を俯瞰する場合やパフォーマンスに制約がある場合に適する。

LCCComponent->SetRenderMode(ERenderMode::PointCloud);
3DGS と点群レンダリングモードの切り替え

3DGS と点群レンダリングモードを切り替える

点群モードは標高による着色に対応する。

  • ElevationColorBottom — 最も低い標高のカラー
  • ElevationColorTop — 最も高い標高のカラー
点群モードの標高着色の効果

点群モードの標高着色の効果

読み込みモード

データは主体と環境の 2 つの部分に分かれており、LoadMode でどちらをレンダリングするか制御する。

モード説明
Both主体と環境をレンダリングする(既定値)
OnlyMain主体のみレンダリングする
OnlyEnvironment環境のみレンダリングする
Noneレンダリングしない。データは読み込まれたまま保持される
LoadMode による主体と環境のレンダリングモードの切り替え

LoadMode で主体と環境のレンダリング範囲を切り替える

注:None はレンダリングを止めるだけで、データはビデオメモリを占有したままになる。リソースを解放するには UnLoad() を呼ぶ。

ライティングモード

Unlit(ライティングを受けない、既定値)

ガウス自身のカラーのみを使用し、シーンの光源とは相互作用しない。

Lit(ライティングを受ける)

ディファードライティングを有効にし、3DGS シーンがディレクショナルライトやポイントライトなどの影響を受けられるようになる。深度と法線の情報が必要になる。

LCCComponent->SetLightMode(ELightMode::Lit);
Unlit と Lit ライティングモードの切り替え

Unlit と Lit のライティングモードを切り替える

Mip Filter

有効にすると 2D ローパスフィルターと不透明度の補正を組み合わせ、スケールの違いによるちらつきを軽減する。

既定値はデータ形式ごとに異なる。

形式既定値
.lcc2 / .lccオン
.ply / .spz / .sogオフ

単一ファイル形式で既定がオフになっているのは、データ本来のシャープな見た目を保つためである。ちらつきが出る場合は手動でオンにする。

LCCComponent->SetUseMipFilter(true);

球面調和係数(SH)

視点に依存したカラーの変化を与え、ライティングの忠実度を高める。

LCCComponent->SetUseShcoef(true);

要件:

  • レンダリングモードが 3DGS であること
  • データ自体に SH 係数が含まれていること

データに SH 係数が含まれるかどうかは形式ごとに異なる。

形式判定方法
.lcc2 / .lccデータのファイルタイプで決まる。Quality タイプは SH を含み、Portable タイプは含まない
.ply / .spz / .sogファイルタイプの識別子がなく、ファイル内に実際に SH 係数が書き込まれているかで決まる

データに SH 係数が含まれない場合、このスイッチは Details パネルで使用できない。

SplatScale

各 Splat のクアッドのサイズを制御する。値の範囲は 0.001 ~ 1.0。

小さくすると Splat 1 個が画面を覆う面積が減り、半透明の重なりもそれに応じて減って、ピクセルフィルのコストが下がる。下げすぎると表面に穴が空いたり、明らかに薄くなったりする。これはパフォーマンスチューニングの手段のひとつでもある。詳しくは パフォーマンス最適化ガイド を参照する。

LCCComponent->SetSplatScale(1.0f);
SplatScale と GlobalAlpha の設定

Splat のスケールと 3DGS のグローバル不透明度を設定する

グローバル不透明度

2 つのレンダリングモードにはそれぞれ独立したグローバル不透明度のプロパティがあり、値の範囲はいずれも 0.0 ~ 1.0。

プロパティ対象モード
GlobalAlpha3DGS
GlobalAlpha_PointCloud点群
LCCComponent->SetGlobalAlpha(1.0f);
LCCComponent->SetGlobalAlpha_PointCloud(1.0f);
点群モードの不透明度設定

点群モードのグローバル不透明度を設定する

カラー調整

LCC のカラー調整パラメーター

LCC の彩度、コントラスト、色味のパラメーターを設定する

実行時の変更に対応する。

プロパティ範囲説明
Saturation0.0~2.0チャンネルの彩度
Contrast0.0~2.0チャンネルのコントラスト
Gamma0.0~2.0チャンネルのガンマ補正
Offset-1.0~1.0加算的なカラーオフセット
ColorTintLinearColor乗算的な色味
LCCComponent->SetSaturation(FVector4(1.2, 1.2, 1.2, 1.0));
LCCComponent->SetColorTint(FLinearColor::White);
カラー調整の動的な効果

カラーパラメーターを動的に調整した後の画面効果

アンチエイリアス

bAffectAntiAliasingMethod を有効にすると、プラグインがアンチエイリアスの方式を自動で管理する。

構成既定の方式
LCC1 SplatFXAA
LCC2 SplatTSR
LCC1 Point CloudMSAA
LCC2 Point CloudTSR

既定値は ProjectSettings > Plugins > LCC4Unreal で変更できる。

注:アンチエイリアスの方式はビュー単位のグローバル設定である。シーンに LCC パイプラインと LCC2 パイプラインの Actor が同時に存在する場合、両者がそれぞれの設定でアンチエイリアスの方式を設定するため、最終的に効くのは実行順序によって決まり、結果は不定になる。このようなシーンでは、設定で両パイプラインのアンチエイリアス方式を手動で一致させる必要がある。

LCC4Unreal のアンチエイリアス設定

LCC パイプラインごとに既定のアンチエイリアス方式を設定する

後処理

LCC4Unreal の後処理設定

LCC4Unreal の後処理とトーンマッピングのオプションを設定する

設定既定値説明
Enable Post ProcessオンLCC のピクセルをエンジンの後処理パイプラインに参加させるか
Apply Tonemap Inverseオフカラースペース変換時に FilmToneMapInverse を適用し、エンジンのトーンマッピング後もデータ本来の見た目を復元する

これらはグローバルな設定で、ProjectSettings > Plugins > LCC4Unreal > Rendering にあり、両方のパイプラインに効く。シーン内のすべての LCC コンポーネントが同じモードを共有し、Actor ごとに個別に設定することはできない。

Enable Post Process をオフにしたときの効果

2 つの状態では処理の方法が異なる。

状態処理方法結果
オンLCC のピクセルに InverseACES を適用し、エンジンの後処理パイプラインに入れる3DGS がシーン内の通常のオブジェクトと一緒にトーンマッピング、Bloom、露出、カラーグレーディングなどの後処理を受ける
オフトーンマッピング前にスナップショットを保存し、トーンマッピング完了後に Alpha でブレンドして画面に戻す3DGS が元のカラーを保ち、トーンマッピングおよびそれ以降の後処理の影響を受けない

オフはデータ本来のカラーを厳密に再現する必要がある場合、たとえばカラーの検証やリファレンス画像との比較に適する。引き換えに 3DGS とシーン内の通常のオブジェクトの見え方が統一されなくなり、画面全体の後処理効果(Bloom や露出など)が 3DGS の部分には作用しない。

注:Enable Post Process をオフにするには、エンジン側で Alpha チャンネルの出力を有効にする必要がある。有効にしないと合成結果が正しくならない。ProjectSettings > Engine > Rendering で Alpha Output を有効にする(UE 5.4 以前のバージョンでは「Enable alpha channel support in post processing」に相当し、Linear color space only に設定してエディターを再起動する必要がある)。プラグインはこの項目が無効であることを検出すると通知を表示する。

Apply Tonemap Inverse の働き

3DGS データのカラーは、撮影時にすでにトーンマッピングが済んだ完成品のカラーである。この種のカラーがエンジンのトーンマッピングをもう一度通ると二重に圧縮され、通常はコントラストの低下やハイライトのくすみとして現れる。

この項目を有効にすると、プラグインはカラースペース変換の段階で LCC のカラーに FilmToneMapInverse を適用し、エンジンがこの後で行うトーンマッピングを先に打ち消して、最終画面でデータ本来の見た目を復元する。

状態適する場面
オフ(既定値)3DGS とシーン内の通常のオブジェクトが同じトーンマッピングを通り、全体の見え方を統一する場合
オン3DGS にデータ本来のカラーとコントラストを表現させる場合

この項目は両方のパイプラインに効き、Enable Post Process がオンのときにのみ意味を持つ。オフの場合は 3DGS がもともとトーンマッピングに参加しないため、打ち消す必要がない。

LCC2 パイプライン固有のパラメーター

深度しきい値

AlphaThreshold は 3DGS が深度バッファにどの層の深度を書き込むかを決める。3DGS は複数層の半透明な splat が重なって構成されており、プラグインは近い側から遠い側へ不透明度を累積し、累積値がこのしきい値に達した時点の深度をそのピクセルの代表深度として記録する。

項目値
値の範囲0.01 ~ 0.99
既定値0.5

下げると深度がカメラ側に寄り、上げると深度がカメラから離れる。この深度はライティング、オクルージョン判定、および深度に依存する後処理に参加するため、Lit モードでの表面の反応や通常のメッシュとの相互オクルージョンもそれに応じて変化する。

下げる必要がある典型的な場面:データ内に不透明度がとても低い薄い構造がある場合、たとえば昆虫や鳥の翼、網、葉の縁など。この種の領域の splat は累積不透明度が既定の 0.5 に届かないため、深度が書き込まれない。シーンにスカイボックスやフォグなど純黒でない背景が同時に存在すると、これらの領域は深度がないために背景色が混ざり込み、構造が薄くなってディテールが失われたように見える。しきい値を下げるとこの種の領域が早めに深度を書き込むようになり、ディテールが復元する。

調整するときは少しずつ下げて観察する。低すぎると深度が全体的にカメラに近づき、オクルージョンの関係と深度に依存する後処理に影響する。

注:このプロパティは Details パネルの Advanced 折りたたみ領域にある。既定値は多くのシーンに適している。

LCC パイプライン固有のパラメーター

影の受光

LCCComponent->bReceiveShadows = true;

注:レンダリングモードが 3DGS である必要がある。有効にするとパフォーマンスへの影響が大きい。

3DGS が影を受けた効果

影の受光を有効にした後の 3DGS レンダリング結果

継ぎ目のカット

bEnableSeamCutting は分割レンダリングでノードの境界に生じる継ぎ目をカットするために使う。LCC データのバージョン 5.0 以上では自動的に有効になる。それより古いバージョンのデータで継ぎ目が見える場合は手動でオンにする。

LCCComponent->bEnableSeamCutting = true;

注:このプロパティは Details パネルの Advanced 折りたたみ領域にある。

複数 Actor の半透明ソート

LCC パイプラインは深度を出力しないため、複数の LCC Actor の間では深度テストによる正しい相互オクルージョンを得られず、半透明の描画順で近似するしかない。bEnableMultipleLCCActorAutoSort(既定でオン)は Actor からカメラまでの距離に応じて TranslucentSortPriority を自動設定し、近い Actor を後から描画させることで、多くの場合に妥当な重なりの結果を得る。

このソートの粒度は Actor 単位である。各 Actor は全体としてソートに参加し、splat 単位までは細分化されない。そのため次のような固有の制限がある。

  • 2 つの LCC Actor のバウンディングボックスが空間的に交差したり入り込んだりしている場合、1 つの全体的な順序で正しい前後関係を表せないため、交差領域のオクルージョンが誤る
  • 単一の Actor 内部が非常に大きな深度範囲にまたがる場合、Actor の中心距離によるソート結果が実際の前後関係と合わないことがある

複数の 3DGS で正しく相互オクルージョンさせる必要がある場合は、LCC2 パイプラインに切り替える。重なりの順序を手動で指定したい場合はこの項目をオフにし、各 Actor の TranslucentSortPriority を自分で設定する。

LCC2 パイプラインにはこのプロパティがない。データを統一 Buffer に集約した後に splat 単位でグローバルにソートし、深度を出力してオクルージョン判定に参加させるため、介入は不要である。

前へ
レンダリング
次へ
法線とライティング