Enum: riferimento dei tipi enum
Tipi enum esposti dal modulo LCC4UnrealRuntime.
| Modulo | LCC4UnrealRuntime |
| Header | Core/LCCEnum.h |
#include "Core/LCCEnum.h"
Le enum marcate BlueprintType sono utilizzabili direttamente in Blueprint, possono essere collegate a un nodo Switch e possono servire come tipo di variabile.
Rendering
ERenderMode
Modalità di rendering. Usata da ULCCComponentBase::RenderMode.
| Valore | Visualizzazione nel pannello | Descrizione |
|---|---|---|
Splatting | 3DGS | Renderizza come 3D Gaussian Splatting, qualità alta, costo alto |
PointCloud | Point Cloud | Renderizza come nuvola di punti, qualità bassa, costo basso |
Passare alla nuvola di punti abbassa notevolmente il costo ed è adatto a viste dall'alto, minimappe e viste lontane in cui il dettaglio non serve. In modalità nuvola di punti i parametri specifici del 3DGS (armoniche sferiche, SplatScale, GlobalAlpha) non hanno effetto.
Interfacce correlate: SetRenderMode, ToggleRenderMode
ELoadMode
Modalità di filtro del caricamento. Usata da ULCCComponentBase::LoadMode.
| Valore | Visualizzazione nel pannello | Descrizione |
|---|---|---|
Both | Both | Renderizza la parte principale e l'ambiente |
OnlyMain | OnlyMain | Renderizza solo la parte principale |
OnlyEnvironment | OnlyEnvironment | Renderizza solo l'ambiente |
None | None | Non renderizza nulla |
La parte principale è l'area acquisita centrale, mentre l'ambiente è costituito dai dati circostanti supplementari. None equivale a un nascondimento temporaneo mentre i dati restano in memoria, quindi il ripristino è molto più rapido di un ricaricamento.
Interfaccia correlata: SetLoadMode
ELightMode
Modalità di illuminazione. Usata da ULCCComponentBase::LightMode.
| Valore | Visualizzazione nel pannello | Descrizione |
|---|---|---|
Unlit | Unlit | Non influenzata dall'illuminazione della scena, mostra i colori originali così come acquisiti |
Lit | Lit | Partecipa all'illuminazione della scena e può interagire con le luci dinamiche |
I dati acquisiti hanno già l'illuminazione del luogo incorporata, quindi passare a Lit ne aggiunge un altro strato e sovraespone facilmente. LCC2 richiede LightingScale per ridurre la luminosità originale. Ha effetto solo in modalità 3DGS.
Interfacce correlate: SetLightMode, ToggleLightMode
EShadowMode
Modalità delle ombre.
| Valore | Visualizzazione nel pannello | Descrizione |
|---|---|---|
None | None | Non riceve ombre |
Static | Static | Riceve ombre statiche |
Dynamic | Dynamic | Riceve ombre dinamiche |
EColorationMode
Metodo di colorazione nella modalità di rendering a nuvola di punti. Usata da ULCCComponentBase::ColorationMode.
| Valore | Visualizzazione nel pannello | Descrizione |
|---|---|---|
Elevation | Evelation | Colora in base all'altitudine, sovrascrivendo i colori originali |
Data | Data | Usa l'RGB memorizzato nei dati |
Elevation lavora con ElevationColorBottom e ElevationColorTop per la visualizzazione dell'altezza del terreno; Data mostra i colori reali della scena acquisita. Si applica solo quando la modalità di rendering è a nuvola di punti, vedere Regolazione dell'immagine - Nuvola di punti.
ELCC2NormalGenerationMode
Modalità di generazione delle normali di LCC2. Usata da ULCC2Component::NormalMode.
I dati 3DGS stessi non hanno normali geometriche, mentre l'illuminazione ne ha bisogno. Le prime tre modalità sono costruzioni approssimate e solo ProxyMesh fornisce normali reali.
| Valore | Visualizzazione nel pannello | Resa reale | Descrizione |
|---|---|---|---|
Fixed | Fixed | No | Tutto il 3DGS condivide un'unica normale nel mondo specificata dall'utente, rivolta verso l'alto per impostazione predefinita. La luminosità di tutto è pari a dot(normal, light direction) |
ViewFacing | View Facing | No | Tutto è rivolto verso la camera ed è illuminato in modo uniforme |
Hemispherical | Hemispherical | No | Normali indipendenti dalla camera, mappate dalla posizione su schermo su un emisfero fisso nel mondo |
ProxyMesh | Proxy Mesh | Sì | Profondità e normali reali provengono da un ALCC2ProxyMesh nella scena, e il 3DGS contribuisce solo con il colore |
Compromessi di ogni modalità:
| Modalità | Vantaggi | Svantaggi |
|---|---|---|
Fixed | Nessuna banda di luce diagonale, completamente stabile al movimento della camera, costo minimo | Nessuna resa del rilievo; tutto si scurisce quando la luce arriva da dietro la normale |
ViewFacing | Non richiede configurazione, nessuna banda di luce diagonale | Nessuna resa del rilievo; la luminosità complessiva si sposta con la rotazione della camera |
Hemispherical | Nessuna banda di luce diagonale, stabile al movimento della camera, transizione più uniforme al passaggio della luce solare | Non è comunque una resa reale; richiede la regolazione di NormalPole e NormalHemiSpread |
ProxyMesh | Normali geometriche e profondità reali | Richiede la realizzazione e il posizionamento di una mesh proxy aderente; richiede una licenza e senza di essa ripiega su Fixed |
Raccomandazione: Fixed per impostazione predefinita; Hemispherical per un movimento uniforme della luce solare; ProxyMesh per una resa reale del rilievo; ViewFacing solo per una verifica rapida del risultato.
Pagine correlate: ULCC2Component, ALCC2ProxyMesh
Taglio e sezionamento
EClipType
Direzione del taglio. Usata da ALCCClippingVolume::Mode.
| Valore | Visualizzazione nel pannello | Descrizione |
|---|---|---|
Inside | Inside | L'interno del volume viene rimosso |
Outside | Outside | L'esterno del volume viene rimosso |
Inside serve a ritagliare fori e ad aprire un involucro; Outside serve a mantenere solo l'area di interesse.
EClipVolumeType
Forma del volume di taglio. Usata da ALCCClippingVolume::VolumeType.
| Valore | Descrizione |
|---|---|
Box | Volume a scatola |
Sphere | Volume a sfera |
ESectionType
Direzione della sezione. Usata da ALCCSectionPlane::Mode.
| Valore | Visualizzazione nel pannello | Descrizione |
|---|---|---|
Upside | Upside | Ciò che si trova sopra il piano viene rimosso |
Downside | Downside | Ciò che si trova sotto il piano viene rimosso |
Sopra e sotto sono relativi all'orientamento del piano stesso, non alle coordinate del mondo. Ruotando il piano di sezione si ottiene una sezione in qualsiasi direzione.
ELoadRegion
Regione di caricamento. Usata da ALCCLoadVolume::Mode.
| Valore | Etichetta nel pannello | Descrizione |
|---|---|---|
Inside | Inside | Carica solo i dati interni al volume |
Outside | Outside | Carica solo i dati esterni al volume |
La differenza rispetto a EClipType: qui si sceglie quale parte viene caricata, non quale viene tagliata. Le aree scartate non vengono mai lette, quindi si riducono la quantità di caricamento e l'uso di memoria video. Il test lavora per nodo, quindi il bordo è più grossolano di quello di un volume di taglio.
ELoadVolumeType
Forma del volume di caricamento. Usata da ALCCLoadVolume::VolumeType.
| Valore | Descrizione |
|---|---|
Box | Volume a box |
Sphere | Volume a sfera |
Pagine correlate: ALCCClippingVolume, ALCCSectionPlane, Volumi di caricamento
Dati e formato
ELCCVersion
Versione dei dati.
| Valore | Descrizione |
|---|---|
LCC | Formato LCC1 |
LCC2 | Formato LCC2 |
Interfaccia correlata: ULCCComponentBase::GetLccVersion
EFileFormat
Formato del file. Tipo di ritorno di ULCCUtilLibrary::DetermineFileFormat.
| Valore | Estensione corrispondente |
|---|---|
None | Non riconosciuto, oppure il percorso non esiste |
LCC | .lcc |
Splats | .splats |
LAS | .las |
PLY | .ply |
Notare che l'ambito di rilevamento di DetermineFileFormat è limitato: .lcc2, .sog e .spz restituiscono tutti None. Per questi formati verificare direttamente l'estensione, per i dettagli vedere DetermineFileFormat.
EDataSourceType
Formato della sorgente dei dati di un albero LCC2. Usato da FLCC2MetaInfo::SplatType.
| Valore | Descrizione |
|---|---|
SOG | Sorgente dei dati .sog |
SPZ | Sorgente dei dati .spz |
PLY | Sorgente dei dati .ply |
È una semplice enum C++ senza markup UENUM e non è visibile in Blueprint.
EFileType
Tipo di contenuto dei dati.
| Valore | Visualizzazione nel pannello | Descrizione |
|---|---|---|
Portable | Portable | Solo RGB, senza armoniche sferiche |
Quality | Quality | Sia RGB sia armoniche sferiche |
I dati Portable non hanno armoniche sferiche disponibili, e in quel caso bUseShcoef non è modificabile. CanSetShcoef() in realtà verifica soltanto se il tipo sia Quality.
ELCCSourceType
Sorgente dei dati. Tipo di ritorno di ULCCUtilLibrary::DetermineSourceType.
| Valore | Descrizione |
|---|---|
Local | File locale |
Http | Indirizzo di rete |
ECollisionType
Formato dei dati di collisione. Tipo di ritorno di ULCCUtilLibrary::DetermineCollisionType.
| Valore | Descrizione |
|---|---|
None | Nessun dato di collisione |
Bin | Formato .bin precedente |
Lci | Formato .lci più recente |
Ply | Collisione da nuvola di punti .ply |
Quando viene restituito None, abilitare bEnableCollision non ha effetto.
ELoadStatus
Stato del caricamento.
| Valore | Descrizione |
|---|---|
Success | Riuscito |
Failure | Fallito |
Progress | In corso |
States
Enum di stato usate dalla query dello stato e dagli eventi di ULCCComponentBase, definite in Core/LCCEventTypes.h.
I valori delle enum vengono solo aggiunti, mai modificati (Blueprint li salva per valore); le versioni successive possono aggiungere nuovi valori, quindi le callback devono tollerare valori che non riconoscono.
ELCCLoadState
Stato di caricamento, da Load() fino al primo caricamento su schermo. Dopo Loaded, i dati continuano a entrare attorno alla camera, e lo stato non torna indietro per questo.
| Valore | Descrizione |
|---|---|
Unloaded | Nessun modello caricato |
Loading | Il caricamento è iniziato, si possono leggere i bounds e i metadati, i dati necessari alla vista sono in streaming; usare GetLoadProgress per vedere l'avanzamento |
Loaded | Il caricamento della vista corrente è terminato. Non significa che ogni blocco di dati sia stato letto correttamente: quando parte dei dati non viene letta, OnLoadFailed lo segnala e il modello può risultare incompleto. Resta Loaded finché il modello non viene rilasciato |
Failed | L'ultimo caricamento è fallito, nessun modello |
ELCCCollisionState
Stato della collisione, dall'abilitazione della collisione fino a quando la prima mesh di collisione è pronta. La collisione viene caricata attorno alla camera ed entra al movimento di questa; Loaded significa che la collisione vicina alla camera è pronta, non che l'intero modello abbia collisione.
| Valore | Descrizione |
|---|---|
NoCollision | La collisione è disattivata, oppure non c'è alcun modello |
Generating | Solo per i modelli a file singolo (PLY/SPZ/SOG): la mesh di collisione viene generata dalle gaussiane, con un tempo da pochi secondi a qualche minuto; viene saltata quando esiste già una cache |
Loading | La mesh di collisione vicina alla camera è in caricamento e baking; resta Loading finché non ci sono dati di collisione entro la distanza di caricamento |
Loaded | La collisione vicina alla camera è pronta per la prima volta e gli oggetti vicini non attraversano più; resta Loaded mentre la collisione continua a entrare con il movimento della camera |
Failed | La collisione è abilitata ma non può essere fornita: nessun dato di collisione, nessuna licenza per generarla, o la generazione è fallita. Vedere l'Output Log; disabilitare e riabilitare per riprovare |
ELCCLoadAnimationState
Stato dell'animazione di caricamento (bEnableAnimation). L'animazione è cronometrata sul tempo di caricamento e non attende i dati: Finished significa che l'animazione è terminata, non che il modello sia completo sullo schermo.
| Valore | Descrizione |
|---|---|
NoAnimation | L'animazione è disattivata, oppure non c'è alcun modello |
Playing | L'animazione di caricamento è in riproduzione; Load / Refresh / SetEnableAnimation la fanno ripartire |
Finished | L'animazione è terminata e l'ambiente è già comparso. In senso diretto il modello è mostrato completo, in senso inverso è già scomparso. Torna a Playing quando una variazione delle impostazioni di animazione provoca una nuova riproduzione |
ELCCLoadError
Motivo del fallimento del caricamento, usato in FLCCLoadFailure::Error.
| Valore | Descrizione |
|---|---|
None | Nessun errore |
FileNotFound | Il file passato a Load non è stato trovato (per un modello .lcc include anche i data.bin / index.bin accanto). Nulla è stato caricato e il modello già caricato viene conservato. Verificare il percorso |
InvalidData | Il file è stato trovato ma è danneggiato, mancano file di dati o non è un modello leggibile dal plugin. O non è stato caricato nulla (GetLoadState è Failed), oppure il modello è stato caricato ma parte dei dati non è stata letta e si mostra incompleto (GetLoadState è Loading o Loaded). Vedere Message e l'Output Log |
Prestazioni e pianificazione
ETraversalType
Metodo di traversal dei nodi. Usato da Default Traversal Type nelle impostazioni del progetto (Project Settings → Plugins → LCC4Unreal).
| Valore | Visualizzazione nel pannello | Descrizione |
|---|---|---|
Circle | Circle | Traversal circolare centrato sulla camera con la distanza massima di rendering come raggio |
Sector | Frustum | Traversal basato sul frustum della camera |
Frustum elabora solo i nodi all'interno della vista e di norma è più economico, ma i nodi fuori dalla vista non vengono precaricati, quindi ruotando rapidamente la vista può comparire un ritardo di riempimento.
Notare che il nome dell'enum è Sector mentre il pannello mostra Frustum.
ESortMethod
Metodo di ordinamento delle trasparenze. Usato da Default Sort Method nelle impostazioni del progetto.
| Valore | Descrizione |
|---|---|
GPU | Ordina sulla GPU |
CPU | Ordina sulla CPU |
GPU è la scelta normale.
ESortMode
Ordine di ordinamento.
| Valore | Descrizione |
|---|---|
Ascending | Crescente |
Descending | Decrescente |
EComputeType
Tipo di pipeline di calcolo.
| Valore | Descrizione |
|---|---|
Compute | Usa Compute sulla pipeline grafica |
AsyncCompute | Usa la pipeline Compute asincrona |
L'implementazione corrente usa Compute; AsyncCompute presenta problemi di rendering e non è ancora abilitata.
Localizzazione
ELocale
Locale. Tipo di ritorno di ULCCUtilLibrary::GetLocale.
| Valore | Descrizione |
|---|---|
EN_US | Inglese |
ZH_CN | Cinese semplificato |
ELanguagePreference
Preferenza di lingua dell'interfaccia del plugin. Usata da Language nelle impostazioni del progetto.
| Valore | Visualizzazione nel pannello | Descrizione |
|---|---|---|
FollowEditor | Follow Editor | Segue l'impostazione corrente della lingua dell'editor |
AlwaysEnglish | Always English | Forza l'inglese indipendentemente dalla lingua dell'editor |
Usare le enum in Blueprint
Un nodo Switch può ramificare su una enum in Blueprint:
[Get Render Mode]
Target = (LCC Component)
│ Return Value ──┐
▼ │
[Switch on ERenderMode] ◀┘
│ Splatting ──▶ (logica del ramo 3DGS)
│ Point Cloud ─▶ (logica del ramo nuvola di punti)
Funziona anche un confronto diretto:
[Get Effective Normal Generation Mode]
│ Return Value ──┐
▼ │
[Equal (Enum)] ◀─────────┘
A = (Return Value)
B = Proxy Mesh
│
▼
[Branch]
Vedere anche
- ULCCComponentBase: uso di
ERenderMode,ELoadModeeELightMode - ULCC2Component: uso di
ELCC2NormalGenerationMode - ULCCUtilLibrary: funzioni di utilità che restituiscono le enum dei formati
- Struct: gli struct che usano queste enum