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

    • PortalCam P1

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

    • Lixel K1

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

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

    • Lixel L2 Pro

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

      • 製品概要
      • デバイスの基本操作
      • デバイスのアクティベーションと接続
      • デバイス収集
      • 絶対座標点群データの取得
      • 付録
  • 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 とトラブルシューティング
    • LCC Studio Linux

      • 製品概要説明
      • 基本アーキテクチャマニュアル
      • インストールと展開説明書
      • コンテナ起動パラメータ説明書
      • CodeMeter オフラインライセンス展開説明書
      • APIコマンドセット
      • 付録-開発者データマニュアル
      • 付録-エラーコード一覧
      • シングルノードマルチGPUクラスタ展開QuickStart
    • 活用テクニック

      • 複数の大規模 3DGS モデルの統合ワークフロー
    • バージョン履歴
  • プラグインと SDK

    • Unreal

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

        • LixelStudio メッシュで 3DGS をリライティングする
        • カメラごとの独立したレンダリング
      • API リファレンス

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

        • v3.5.0
        • v3.4.0
        • 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
    • Unity

      • Unity SDK の概要
      • 技術的特徴
      • 開発環境の要件
      • PC クイックスタートガイド
      • プロジェクト設定の最適化ガイド
      • Pico 4 Ultra 開発ガイド
      • Pico 4 Ultra PC ストリーミングガイド
      • Quest 3 開発ガイド
      • Quest 3 PC ストリーミングガイド
      • OpenXR 開発ガイド
      • Pico 4 Ultra Business Streaming ガイド
      • 用語集
      • FAQ
      • お問い合わせ
      • 機能開発ガイド

        • 複数シーン混合レンダリング開発ガイド
        • 影の受光開発ガイド
        • リアルタイムライティング開発ガイド
        • マルチカメラレンダリング開発ガイド
        • 高解像度画像レンダリング開発ガイド
        • LCC / LCC2 データ形式互換性開発ガイド
        • 読み込みエフェクト開発ガイド
        • Mip レンダリングモード切り替え開発ガイド
        • エッジ・コーナースナップ開発ガイド
        • 投影デカール開発ガイド
        • ビデオ投影デカール開発ガイド
        • ハイライト開発ガイド
        • リアルタイムクリッピング開発ガイド
        • カラー調整開発ガイド
        • シーン Mesh データ取得開発ガイド
        • エディターモード開発ガイド
        • レンダリングパフォーマンスパラメータ設定ガイド
        • アプリケーションとデータの同梱パッケージ開発ガイド
        • コリジョンシステム開発ガイド
        • macOS 開発の権限問題ガイド
        • iOS デバイスのコンパイル・パッケージ化開発ガイド
      • API リファレンス

        • LCCManager
        • Renderer
        • データ型
      • 変更履歴

        • v2.3.0
        • v2.2.10
        • v2.2.0
        • v2.1.19
        • v2.0.14
    • Web

      • はじめに
      • レンダリング性能最適化ガイド
      • グラフィックス設定
      • WebGPU 開発ガイド
      • よくある質問
      • API リファレンス

        • LCCObject::checkRenderNextFrame
        • LCCObject::clearRenderNextFrame
        • LCCObject::ecef2Prj
        • LCCObject::getBounds
        • LCCObject::getEnvInstancedMesh
        • LCCObject::getInstancedMesh
        • LCCObject::getLodInfos
        • LCCObject::getOriginPosition
        • LCCObject::getProjectionCoordinateSystemInfos
        • LCCObject::hasCollision
        • LCCObject::hasEnvironment
        • LCCObject::hasShcoef
        • LCCObject::intersectsCapsule
        • LCCObject::intersectsRayExt
        • LCCObject::intersectsRayFromOriginExt
        • LCCObject::intersectsSphere
        • LCCObject::lowerToBottom
        • LCCObject::prj2Ecef
        • LCCObject::raiseToTop
        • LCCObject::raycast
        • LCCObject::raycastFromOrigin
        • LCCObject::setAlpha
        • LCCObject::setClipBox
        • LCCObject::setClipPlane
        • LCCObject::setClipPrism
        • LCCObject::setEndLod
        • LCCObject::setLodAutoLevelUp
        • LCCObject::setMaxDistance
        • LCCObject::setMaxNodeSplats
        • LCCObject::setMaxSplats
        • LCCObject::setMipFilter
        • LCCObject::setOriginPosition
        • LCCObject::setPointsColor
        • LCCObject::setRenderState
        • LCCObject::setRotation
        • LCCObject::setScale
        • LCCObject::setSemantic
        • LCCObject::setSemanticColor
        • LCCObject::setSmooth
        • LCCObject::setStartLod
        • LCCObject::setTranslation
        • LCCObject::setVisible
        • LCCObject::togglePointsDisplayMode
        • LCCObject::useEnvironment
        • LCCObject::useShcoef
        • LCCRender::clearIndexDB
        • LCCRender::dispose
        • LCCRender::load
        • LCCRender::setCamera
        • LCCRender::unload
        • LCCRender::update
      • 更新履歴

        • v0.6.4
        • v0.6.3
        • v0.6.2
        • v0.6.1
        • v0.6.0
        • v0.5.5
        • v0.5.4
        • v0.5.3
        • v0.5.2
        • v0.5.1
        • v0.5.0
        • v0.4.1
        • v0.4.0
        • v0.3.1
        • v0.3.0
        • v0.2.0
  • API

    • 空間構造化モデリング

      • 接続ガイド
      • モデリングワークフロー
      • API リファレンス
      • アップロード用一時認証情報
      • エラーコード

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

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

共通パラメーター

レンダリングモード

3D Gaussian Splatting(既定値)

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

LCCComponent->SetRenderMode(ERenderMode::Splatting);

点群

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

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

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

点群モードは 2 種類の着色方式に対応し、ColorationMode で切り替える。

モードパネル表示説明
DataDataデータが持つ本来の色で着色する
ElevationEvelation標高に応じて色を割り当て、元の色を上書きする

Elevation を選ぶ場合、次の 2 つのプロパティでグラデーションの両端を定義する。

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

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

実際の地物の色を見るなら Data、地形の起伏や高低差を読み取るなら Elevation を使う。

点群モードのデータ着色の効果

点群モードのデータ着色の効果。データが持つ本来の色で表示される

読み込みモード

データは主体と環境の 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 パネルで使用できない。

SH の次数

SH を有効にすると、SHBands で計算に使う次数を 1 ~ 3 の範囲で調整できる。このプロパティは LCC2 パイプラインのみで使用でき、.lcc2、.sog、.spz、.ply のいずれにも作用する。

LCC2Component->SetSHBands(2);
設定効果
bUseShcoef をオフSH をまったく使わない。色は視点によって変化せず、コストは最も低い
SHBands = 1最も基本的な視点変化を保つ。GPU メモリの使用量は 3 次の 4 分の 1
SHBands = 2両者の中間
SHBands = 3(既定)視点依存の効果が完全に出る。コストは最も高い

既定値はデータに格納された次数であり、これが上限でもある。2 次までしか格納されていないデータに 3 を設定しても追加の効果はない。SH を完全にオフにするのに比べ、次数を下げるのはより細かい取捨選択である。視点変化を一部残したまま、シェーディングのコストと GPU メモリの使用量を下げられる。メモリの換算はレンダリング - Buffer の構造を参照。

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 モードでの表面の反応や通常のメッシュとの相互オクルージョンもそれに応じて変化する。

LCC2Component->AlphaThreshold = 0.5f;

下げる必要がある典型的な場面:データ内に不透明度がとても低い薄い構造がある場合、たとえば昆虫や鳥の翼、網、葉の縁など。この種の領域の 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 単位でグローバルにソートし、深度を出力してオクルージョン判定に参加させるため、介入は不要である。

Alpha Holdout:3DGS を画面から透明に抜く

LCC2 パイプラインのみ対応。Alpha Holdout は 3DGS で SceneColor に「透明な穴を開ける」機能である。3DGS が覆うピクセルが透明な背景として出力される。最終画面から 3DGS を抜き取り、外部パイプラインに合成する(グリーンバック的な合成、外部レンダリングとの重ね合わせなど)用途でよく使う。

コンポーネント標準の Holdout プロパティを使う

プラグインはプリミティブ標準の Holdout プロパティ(UE の UPrimitiveComponent::bHoldout)を直接読み取るため、専用のプラグインスイッチはない。LCC Actor のレンダリングコンポーネントで Rendering → Holdout にチェックするだけでよい。

有効になるかはプロジェクト側の前提による。これらの前提はすべてプロジェクト設定で構成し、コンソールを手打ちする必要はない。前提はエンジンのバージョンによって異なり(下記参照)、プラグインはバージョンに応じて自動的に対応する。

前提 1:ポストプロセスの Alpha チャンネルを有効にする(全バージョン必須)

この項目はエンジンのバージョンによって名前と場所が異なるが、いずれも Project Settings → Rendering の下にある。

エンジンバージョン設定項目名場所と設定値
5.4 / 5.5Enable alpha channel support in post processing (experimental)Rendering → PostProcessing。Linear Color Space Only または Allow through Tonemapper を選ぶ
5.6 / 5.7 / 5.8Alpha OutputRendering → Default Settings。有効にすればよい
UE 5.4 の後処理アルファチャンネル設定

UE 5.4 / 5.5:Enable alpha channel support in post processing

UE 5.8 の後処理アルファチャンネル設定

UE 5.6 / 5.7 / 5.8:Alpha Output

ヒント:変更後はポストプロセスのシェーダーを再コンパイルするためエディターの再起動が必要である。この項目を有効にしないと透明な穴がポストプロセスに伝わらず、3DGS が黒くレンダリングされてしまう。

前提 2:5.7 / 5.8 では Holdout 対応を追加で有効にする

5.4 / 5.5 / 5.6 には専用の Holdout スイッチがなく、前提 1 を満たしたうえでコンポーネントの Holdout にチェックすれば有効になる。5.7 / 5.8 では専用のスイッチが追加されたため、プロジェクト設定で追加で有効にする必要がある。

  • Project Settings → Rendering の Support Primitive Alpha Holdout(内部の r.Deferred.SupportPrimitiveAlphaHoldout に対応)を有効にし、エディターを再起動する。
  • ビューポートの AllowPrimitiveAlphaHoldout 表示フラグがオンであることを確認する(既定でオン。通常は変更不要)。

この 2 項目は 5.4–5.6 には存在しないため、それらのバージョンでは不要である。5.7 以降でのみプロジェクト設定で有効にする必要がある。

有効にする手順

  1. 上表に従って使用中のエンジンバージョン向けにポストプロセスの Alpha チャンネルを有効にし、エディターを再起動する。
  2. 5.7 / 5.8 の場合は Support Primitive Alpha Holdout も有効にし、エディターを再起動する。
  3. LCC Actor のレンダリングコンポーネントを選択し、Rendering カテゴリーで Holdout にチェックする。
コンポーネントの Rendering カテゴリーで Holdout にチェックする

コンポーネントの Rendering カテゴリーで Holdout にチェックする

ヒント:Holdout された 3DGS は強制的に Unlit として扱われる(GBuffer に書き込まず、ライティングの対象となる内容を持たない)。

ヒント:Holdout にチェックしたのに透明ではなく真っ黒になる場合は、ほぼ間違いなくポストプロセスの Alpha チャンネルが有効になっていない(または 5.7 以降で Support Primitive Alpha Holdout が有効になっていない)ことが原因である。