Enums: Referenz der Enum-Typen
Enum-Typen, die das Modul LCC4UnrealRuntime bereitstellt.
| Modul | LCC4UnrealRuntime |
| Header | Core/LCCEnum.h |
#include "Core/LCCEnum.h"
Enums mit der Auszeichnung BlueprintType sind unmittelbar in Blueprint nutzbar, lassen sich an einen Switch-Node anschließen und können als Variablentyp dienen.
Rendering
ERenderMode
Rendering-Modus. Genutzt von ULCCComponentBase::RenderMode.
| Wert | Anzeige im Panel | Beschreibung |
|---|---|---|
Splatting | 3DGS | Rendert als 3D Gaussian Splatting, hohe Qualität, hohe Kosten |
PointCloud | Point Cloud | Rendert als Punktwolke, niedrige Qualität, niedrige Kosten |
Das Umschalten auf Punktwolke senkt die Kosten deutlich und passt zu Aufsichten, Minimaps und fernen Ansichten, in denen keine Details gebraucht werden. Im Punktwolken-Modus haben die 3DGS-eigenen Parameter (Kugelflächenfunktionen, SplatScale, GlobalAlpha) keine Wirkung.
Zugehörige Schnittstellen: SetRenderMode, ToggleRenderMode
ELoadMode
Filtermodus des Ladens. Genutzt von ULCCComponentBase::LoadMode.
| Wert | Anzeige im Panel | Beschreibung |
|---|---|---|
Both | Both | Rendert den Hauptteil und die Umgebung |
OnlyMain | OnlyMain | Rendert nur den Hauptteil |
OnlyEnvironment | OnlyEnvironment | Rendert nur die Umgebung |
None | None | Rendert nichts |
Der Hauptteil ist der zentrale erfasste Bereich, die Umgebung sind ergänzende Daten ringsherum. None entspricht einem vorübergehenden Ausblenden, während die Daten im Arbeitsspeicher bleiben, die Wiederherstellung ist daher weit schneller als ein erneutes Laden.
Zugehörige Schnittstelle: SetLoadMode
ELightMode
Lichtmodus. Genutzt von ULCCComponentBase::LightMode.
| Wert | Anzeige im Panel | Beschreibung |
|---|---|---|
Unlit | Unlit | Von der Szenenbeleuchtung unbeeinflusst, zeigt die ursprünglichen Farben wie erfasst |
Lit | Lit | Nimmt an der Szenenbeleuchtung teil und kann mit dynamischen Lichtern zusammenwirken |
Erfasste Daten haben die Beleuchtung vor Ort bereits eingebacken, das Umschalten auf Lit fügt daher eine weitere Schicht hinzu und überstrahlt leicht. LCC2 benötigt LightingScale, um die ursprüngliche Helligkeit zu senken. Nur im 3DGS-Modus wirksam.
Zugehörige Schnittstellen: SetLightMode, ToggleLightMode
EShadowMode
Schattenmodus.
| Wert | Anzeige im Panel | Beschreibung |
|---|---|---|
None | None | Empfängt keine Schatten |
Static | Static | Empfängt statische Schatten |
Dynamic | Dynamic | Empfängt dynamische Schatten |
EColorationMode
Einfärbungsmodus.
| Wert | Anzeige im Panel | Beschreibung |
|---|---|---|
None | None | Nutzt nur die Tönung |
Data | Data | Nutzt das importierte RGB |
Elevation | Evelation | Färbt nach Höhe und überschreibt die ursprünglichen Farben |
Position | Position | Färbt nach relativer Position und überschreibt die ursprünglichen Farben |
Elevation arbeitet mit ElevationColorBottom und ElevationColorTop zusammen, um die Höhe des Geländes zu veranschaulichen.
ELCC2NormalGenerationMode
Modus der Normalenerzeugung von LCC2. Genutzt von ULCC2Component::NormalMode.
3DGS-Daten selbst haben keine geometrischen Normalen, die Beleuchtung benötigt sie aber. Die ersten drei Modi sind Konstruktionen durch Annäherung, und nur ProxyMesh liefert echte Normalen.
| Wert | Anzeige im Panel | Echtes Shading | Beschreibung |
|---|---|---|---|
Fixed | Fixed | Nein | Das gesamte 3DGS teilt eine vom Nutzer angegebene Weltnormale, die standardmäßig nach oben zeigt. Die Helligkeit von allem entspricht dot(normal, light direction) |
ViewFacing | View Facing | Nein | Alles zeigt zur Kamera und wird gleichmäßig beleuchtet |
Hemispherical | Hemispherical | Nein | Von der Kamera unabhängige Normalen, aus der Bildschirmposition auf eine feste Weltraum-Halbkugel abgebildet |
ProxyMesh | Proxy Mesh | Ja | Echte Tiefe und Normalen kommen von einem ALCC2ProxyMesh in der Szene, und 3DGS trägt nur Farbe bei |
Abwägungen der einzelnen Modi:
| Modus | Vorteile | Nachteile |
|---|---|---|
Fixed | Kein diagonales Lichtband, bei Kamerabewegung vollständig stabil, geringste Kosten | Überhaupt kein formgebendes Shading; alles dunkelt ab, wenn das Licht von hinter der Normalen kommt |
ViewFacing | Keine Konfiguration nötig, kein diagonales Lichtband | Kein formgebendes Shading; die Gesamthelligkeit driftet, während sich die Kamera dreht |
Hemispherical | Kein diagonales Lichtband, bei Kamerabewegung stabil, sanftester Übergang, während das Sonnenlicht darüber streicht | Weiterhin kein echtes Shading; erfordert das Abstimmen von NormalPole und NormalHemiSpread |
ProxyMesh | Echte geometrische Normalen und Tiefe | Erfordert das Erstellen und Platzieren eines passenden Proxy Mesh; erfordert eine Lizenz und fällt ohne sie auf Fixed zurück |
Empfehlung: Fixed als Standard; Hemispherical für eine sanfte Bewegung des Sonnenlichts; ProxyMesh für echtes formgebendes Shading; ViewFacing nur für einen schnellen Blick auf das Ergebnis.
Zugehörige Seiten: ULCC2Component, ALCC2ProxyMesh
Clipping und Schnitt
EClipType
Richtung des Beschneidens. Genutzt von ALCCClippingVolume::Mode.
| Wert | Anzeige im Panel | Beschreibung |
|---|---|---|
Inside | Inside | Das Innere des Volumens wird weggeschnitten |
Outside | Outside | Das Äußere des Volumens wird weggeschnitten |
Inside dient dazu, Löcher zu schneiden und eine Hülle zu öffnen; Outside dient dazu, nur den interessierenden Bereich zu behalten.
EClipVolumeType
Form des Clipping-Volumens. Genutzt von ALCCClippingVolume::VolumeType.
| Wert | Beschreibung |
|---|---|
Box | Box-Volumen |
Sphere | Kugel-Volumen |
ESectionType
Richtung des Schneidens. Genutzt von ALCCSectionPlane::Mode.
| Wert | Anzeige im Panel | Beschreibung |
|---|---|---|
Upside | Upside | Was über der Ebene liegt, wird weggeschnitten |
Downside | Downside | Was unter der Ebene liegt, wird weggeschnitten |
Oben und unten beziehen sich auf die Ausrichtung der Ebene selbst, nicht auf die Weltkoordinaten. Das Drehen der Schnittebene ergibt einen Schnitt in beliebiger Richtung.
Zugehörige Seiten: ALCCClippingVolume, ALCCSectionPlane
Daten und Format
ELCCVersion
Datenversion.
| Wert | Beschreibung |
|---|---|
LCC | Format LCC1 |
LCC2 | Format LCC2 |
Zugehörige Schnittstelle: ULCCComponentBase::GetLccVersion
EFileFormat
Dateiformat. Rückgabetyp von ULCCUtilLibrary::DetermineFileFormat.
| Wert | Passende Erweiterung |
|---|---|
None | Nicht erkannt, oder der Pfad existiert nicht |
LCC | .lcc |
Splats | .splats |
LAS | .las |
PLY | .ply |
Zu beachten: Der Erkennungsumfang von DetermineFileFormat ist begrenzt: .lcc2, .sog und .spz geben alle None zurück. Für diese Formate die Erweiterung unmittelbar prüfen, Näheres unter DetermineFileFormat.
EDataSourceType
Format der Datenquelle eines LCC2-Baums. Genutzt von FLCC2MetaInfo::SplatType.
| Wert | Beschreibung |
|---|---|
SOG | Datenquelle .sog |
SPZ | Datenquelle .spz |
PLY | Datenquelle .ply |
Das ist ein einfaches C++-Enum ohne UENUM-Auszeichnung und in Blueprint nicht sichtbar.
EFileType
Typ des Dateninhalts.
| Wert | Anzeige im Panel | Beschreibung |
|---|---|---|
Portable | Portable | Nur RGB, keine Kugelflächenfunktionen |
Quality | Quality | RGB und Kugelflächenfunktionen |
Daten des Typs Portable haben keine Kugelflächenfunktionen zur Verfügung, und bUseShcoef ist dann nicht bearbeitbar. CanSetShcoef() prüft tatsächlich nur, ob der Typ Quality ist.
ELCCSourceType
Datenquelle. Rückgabetyp von ULCCUtilLibrary::DetermineSourceType.
| Wert | Beschreibung |
|---|---|
Local | Lokale Datei |
Http | Netzwerkadresse |
ECollisionType
Format der Kollisionsdaten. Rückgabetyp von ULCCUtilLibrary::DetermineCollisionType.
| Wert | Beschreibung |
|---|---|
None | Keine Kollisionsdaten |
Bin | Altes Format .bin |
Lci | Neueres Format .lci |
Ply | Punktwolken-Kollision .ply |
Wird None zurückgegeben, hat das Aktivieren von bEnableCollision keine Wirkung.
ELoadStatus
Status des Ladens.
| Wert | Beschreibung |
|---|---|
Success | Erfolgreich |
Failure | Fehlgeschlagen |
Progress | Läuft |
Leistung und Scheduling
ETraversalType
Methode der Node-Traversierung. Genutzt von Default Traversal Type in den Projekteinstellungen (Project Settings → Plugins → LCC4Unreal).
| Wert | Anzeige im Panel | Beschreibung |
|---|---|---|
Circle | Circle | Kreisförmige Traversierung um die Kamera als Mittelpunkt mit der maximalen Renderdistanz als Radius |
Sector | Frustum | Traversierung anhand des Kamera-Frustums |
Frustum verarbeitet nur Nodes innerhalb der Ansicht und ist meist günstiger, Nodes außerhalb der Ansicht werden aber nicht vorgeladen, sodass beim schnellen Drehen der Ansicht eine Verzögerung beim Auffüllen auftreten kann.
Zu beachten: Der Name des Enum-Werts ist Sector, während das Panel Frustum anzeigt.
ESortMethod
Methode der Transparenzsortierung. Genutzt von Default Sort Method in den Projekteinstellungen.
| Wert | Beschreibung |
|---|---|
GPU | Sortiert auf der GPU |
CPU | Sortiert auf der CPU |
GPU ist die reguläre Wahl.
ESortMode
Sortierreihenfolge.
| Wert | Beschreibung |
|---|---|
Ascending | Aufsteigend |
Descending | Absteigend |
EComputeType
Typ der Compute-Pipeline.
| Wert | Beschreibung |
|---|---|
Compute | Nutzt Compute auf der Grafik-Pipeline |
AsyncCompute | Nutzt die asynchrone Compute-Pipeline |
Die aktuelle Umsetzung nutzt Compute; AsyncCompute hat Rendering-Probleme und ist noch nicht aktiviert.
Lokalisierung
ELocale
Locale. Rückgabetyp von ULCCUtilLibrary::GetLocale.
| Wert | Beschreibung |
|---|---|
EN_US | Englisch |
ZH_CN | Vereinfachtes Chinesisch |
ELanguagePreference
Sprachvorgabe der Plugin-Oberfläche. Genutzt von Language in den Projekteinstellungen.
| Wert | Anzeige im Panel | Beschreibung |
|---|---|---|
FollowEditor | Follow Editor | Folgt der aktuellen Spracheinstellung des Editors |
AlwaysEnglish | Always English | Erzwingt Englisch unabhängig von der Editorsprache |
Enums in Blueprint nutzen
Ein Switch-Node kann in Blueprint anhand eines Enums verzweigen:
[Get Render Mode]
Target = (LCC Component)
│ Return Value ──┐
▼ │
[Switch on ERenderMode] ◀┘
│ Splatting ──▶ (Logik des 3DGS-Zweigs)
│ Point Cloud ─▶ (Logik des Punktwolken-Zweigs)
Ein unmittelbarer Vergleich funktioniert ebenfalls:
[Get Effective Normal Generation Mode]
│ Return Value ──┐
▼ │
[Equal (Enum)] ◀─────────┘
A = (Return Value)
B = Proxy Mesh
│
▼
[Branch]
Siehe auch
- ULCCComponentBase: Verwendung von
ERenderMode,ELoadModeundELightMode - ULCC2Component: Verwendung von
ELCC2NormalGenerationMode - ULCCUtilLibrary: Hilfsfunktionen, die die Format-Enums zurückgeben
- Structs: die Structs, die diese Enums nutzen