Enums:列挙型のリファレンス
LCC4UnrealRuntime モジュールが公開する列挙型である。
| モジュール | LCC4UnrealRuntime |
| ヘッダーファイル | Core/LCCEnum.h |
#include "Core/LCCEnum.h"
BlueprintType が付いた列挙型は Blueprint で直接使用でき、Switch ノードに接続したり変数の型として使ったりできる。
Rendering
ERenderMode
レンダリングモード。ULCCComponentBase::RenderMode に使う。
| 値 | パネルでの表示 | 説明 |
|---|---|---|
Splatting | 3DGS | 3D ガウススプラッティングとしてレンダリングする。画質が高くコストが大きい |
PointCloud | Point Cloud | 点群としてレンダリングする。画質が低くコストが小さい |
点群に切り替えるとコストを大きく下げられ、俯瞰、ミニマップ、遠景のようにディテールが不要な場面に適する。点群モードでは 3DGS 専用のパラメーター(球面調和、SplatScale、GlobalAlpha)が効かない。
関連するインターフェース:SetRenderMode、ToggleRenderMode
ELoadMode
読み込みのフィルターモード。ULCCComponentBase::LoadMode に使う。
| 値 | パネルでの表示 | 説明 |
|---|---|---|
Both | Both | 主体と環境をレンダリングする |
OnlyMain | OnlyMain | 主体のみレンダリングする |
OnlyEnvironment | OnlyEnvironment | 環境のみレンダリングする |
None | None | 何もレンダリングしない |
主体は撮影の中核となる領域で、環境は外周を補うデータである。None は一時的に隠しつつメモリのデータを保持するのに相当し、復帰は再読み込みよりはるかに速い。
関連するインターフェース:SetLoadMode
ELightMode
ライティングモード。ULCCComponentBase::LightMode に使う。
| 値 | パネルでの表示 | 説明 |
|---|---|---|
Unlit | Unlit | シーンのライティングの影響を受けず、撮影時の元のカラーを表示する |
Lit | Lit | シーンのライティングに参加し、動的なライトと相互作用できる |
撮影したデータには現場のライティングがすでにベイクされているため、Lit に切り替えるともう 1 層重なって露出オーバーになりやすい。LCC2 では LightingScale を合わせて使い、元の明るさを下げる。3DGS モードでのみ有効である。
関連するインターフェース:SetLightMode、ToggleLightMode
EShadowMode
影のモード。
| 値 | パネルでの表示 | 説明 |
|---|---|---|
None | None | 影を受けない |
Static | Static | 静的な影を受ける |
Dynamic | Dynamic | 動的な影を受ける |
EColorationMode
着色モード。
| 値 | パネルでの表示 | 説明 |
|---|---|---|
None | None | 色味のみを使う |
Data | Data | インポートした RGB を使う |
Elevation | Evelation | 標高で着色し、元のカラーを上書きする |
Position | Position | 相対位置で着色し、元のカラーを上書きする |
Elevation は ElevationColorBottom と ElevationColorTop と組み合わせて地形の高さの可視化に使う。
ELCC2NormalGenerationMode
LCC2 の法線生成モード。ULCC2Component::NormalMode に使う。
3DGS のデータ自体はジオメトリ法線を持たないが、ライティングには法線が必要である。最初の 3 つのモードはいずれも近似的な構成で、ProxyMesh だけが実際の法線を提供する。
| 値 | パネルでの表示 | 実際の明暗 | 説明 |
|---|---|---|---|
Fixed | Fixed | なし | 3DGS 全体でユーザーが指定した 1 つのワールド法線を共有する。既定は上向き。全体の明るさは dot(法線, ライティングの方向) に等しい |
ViewFacing | View Facing | なし | 全体がカメラを向き、受光が均一になる |
Hemispherical | Hemispherical | なし | カメラに依存しない法線で、画面上の位置を固定のワールド半球にマッピングする |
ProxyMesh | Proxy Mesh | あり | シーン内の ALCC2ProxyMesh が実際の深度と法線を提供し、3DGS はカラーのみを担う |
各モードのトレードオフ:
| モード | 利点 | 欠点 |
|---|---|---|
Fixed | 斜めの光の帯が出ず、カメラの移動に対して完全に安定し、コストが最も低い | 立体感のある明暗がまったくない。光が法線の裏側から来ると全体が暗くなる |
ViewFacing | 設定不要で、斜めの光の帯が出ない | 立体感のある明暗がない。カメラを回すと全体の明るさが揺れる |
Hemispherical | 斜めの光の帯が出ず、カメラの移動に対して安定し、日光が動くときの遷移がもっとも滑らか | 依然として実際の明暗ではない。NormalPole と NormalHemiSpread の調整が必要 |
ProxyMesh | 実際のジオメトリ法線と深度が得られる | 形状の合うプロキシメッシュを作って配置する必要がある。ライセンスが必要で、未ライセンスの場合は Fixed にフォールバックする |
選択の指針:既定は Fixed。滑らかな日光の推移が必要なら Hemispherical、実際の立体感のある明暗が必要なら ProxyMesh を使う。ViewFacing は素早く効果を見る用途にのみ適する。
関連するページ:ULCC2Component、ALCC2ProxyMesh
Clipping and Section
EClipType
クリッピングの方向。ALCCClippingVolume::Mode に使う。
| 値 | パネルでの表示 | 説明 |
|---|---|---|
Inside | Inside | ボリュームの内側が切り取られる |
Outside | Outside | ボリュームの外側が切り取られる |
Inside は穴を開けたり外殻を切り開いたりするのに使い、Outside は関心のある領域だけを残すのに使う。
EClipVolumeType
クリッピングボリュームの形状。ALCCClippingVolume::VolumeType に使う。
| 値 | 説明 |
|---|---|
Box | ボックス形のボリューム |
Sphere | スフィア形のボリューム |
ESectionType
断面の方向。ALCCSectionPlane::Mode に使う。
| 値 | パネルでの表示 | 説明 |
|---|---|---|
Upside | Upside | プレーンの上方が切り取られる |
Downside | Downside | プレーンの下方が切り取られる |
上下はプレーン自身の向きに対するものであり、ワールド座標ではない。断面プレーンを回転させれば任意の方向の断面を得られる。
関連するページ:ALCCClippingVolume、ALCCSectionPlane
Data and Format
ELCCVersion
データのバージョン。
| 値 | 説明 |
|---|---|
LCC | LCC1 形式 |
LCC2 | LCC2 形式 |
関連するインターフェース:ULCCComponentBase::GetLccVersion
EFileFormat
ファイルの形式。ULCCUtilLibrary::DetermineFileFormat の戻り値の型である。
| 値 | 対応する拡張子 |
|---|---|
None | 識別できない、またはパスが存在しない |
LCC | .lcc |
Splats | .splats |
LAS | .las |
PLY | .ply |
DetermineFileFormat の識別範囲は限られている点に注意する。.lcc2、.sog、.spz はいずれも None を返す。 これらの形式を判定するには拡張子を直接見る。詳しくは DetermineFileFormat を参照する。
EDataSourceType
LCC2 のツリーのデータソースの形式。FLCC2MetaInfo::SplatType に使う。
| 値 | 説明 |
|---|---|
SOG | .sog のデータソース |
SPZ | .spz のデータソース |
PLY | .ply のデータソース |
これは通常の C++ の列挙型で UENUM のマークがなく、Blueprint からは見えない。
EFileType
データの内容の種類。
| 値 | パネルでの表示 | 説明 |
|---|---|---|
Portable | Portable | RGB のみで球面調和がない |
Quality | Quality | RGB と球面調和の両方を含む |
Portable のデータには使える球面調和がないため、bUseShcoef は編集できない。CanSetShcoef() は実際には種類が Quality かを判定している。
ELCCSourceType
データのソース。ULCCUtilLibrary::DetermineSourceType の戻り値の型である。
| 値 | 説明 |
|---|---|
Local | ローカルのファイル |
Http | ネットワークのアドレス |
ECollisionType
コリジョンデータの形式。ULCCUtilLibrary::DetermineCollisionType の戻り値の型である。
| 値 | 説明 |
|---|---|
None | コリジョンデータがない |
Bin | 旧形式の .bin |
Lci | 新形式の .lci |
Ply | 点群の .ply のコリジョン |
None が返る場合、bEnableCollision を有効にしても効果がない。
ELoadStatus
読み込みの状態。
| 値 | 説明 |
|---|---|
Success | 成功 |
Failure | 失敗 |
Progress | 進行中 |
Performance and Scheduling
ETraversalType
ノードのトラバース方式。プロジェクト設定(Project Settings → Plugins → LCC4Unreal)の Default Traversal Type に使う。
| 値 | パネルでの表示 | 説明 |
|---|---|---|
Circle | Circle | カメラを中心、最大レンダリング距離を半径とする円形のトラバース |
Sector | Frustum | カメラの視錐台に基づくトラバース |
Frustum は視野内のノードのみを処理するため通常はより軽いが、視点を素早く回すと視野外のノードがプリロードされておらず、補完の遅れが見えることがある。
列挙型の名前は Sector だがパネルでの表示は Frustum である点に注意する。
ESortMethod
半透明のソート方式。プロジェクト設定の Default Sort Method に使う。
| 値 | 説明 |
|---|---|
GPU | GPU のソートを使う |
CPU | CPU のソートを使う |
通常は GPU を使う。
ESortMode
ソートの順序。
| 値 | 説明 |
|---|---|
Ascending | 昇順 |
Descending | 降順 |
EComputeType
計算パイプラインの種類。
| 値 | 説明 |
|---|---|
Compute | グラフィックスパイプライン上の Compute を使う |
AsyncCompute | 非同期の Compute パイプラインを使う |
現在の実装は Compute を使う。AsyncCompute はレンダリングの問題があり、まだ有効になっていない。
Localization
ELocale
ロケール。ULCCUtilLibrary::GetLocale の戻り値の型である。
| 値 | 説明 |
|---|---|
EN_US | 英語 |
ZH_CN | 簡体字中国語 |
ELanguagePreference
プラグイン UI の言語の設定。プロジェクト設定の Language に使う。
| 値 | パネルでの表示 | 説明 |
|---|---|---|
FollowEditor | Follow Editor | エディターの現在の言語設定に従う |
AlwaysEnglish | Always English | 常に英語にし、エディターの言語の影響を受けない |
Using Enums in Blueprint
Blueprint では Switch ノードで列挙型を分岐できる。
[Get Render Mode]
Target = (LCC Component)
│ Return Value ──┐
▼ │
[Switch on ERenderMode] ◀┘
│ Splatting ──▶ (3DGS の分岐のロジック)
│ Point Cloud ─▶ (点群の分岐のロジック)
直接比較することもできる。
[Get Effective Normal Generation Mode]
│ Return Value ──┐
▼ │
[Equal (Enum)] ◀─────────┘
A = (Return Value)
B = Proxy Mesh
│
▼
[Branch]
See Also
- ULCCComponentBase:
ERenderMode、ELoadMode、ELightModeの使い方 - ULCC2Component:
ELCC2NormalGenerationModeの使い方 - ULCCUtilLibrary:形式系の列挙型を返すユーティリティ関数
- Structs:これらの列挙型を使う構造体