Enumeraciones: referencia de los tipos de enumeración
Tipos de enumeración que expone el módulo LCC4UnrealRuntime.
| Módulo | LCC4UnrealRuntime |
| Cabecera | Core/LCCEnum.h |
#include "Core/LCCEnum.h"
Las enumeraciones marcadas como BlueprintType se pueden usar directamente en Blueprint, se pueden conectar a un nodo Switch y pueden servir como tipo de variable.
Renderizado
ERenderMode
Modo de renderizado. Lo usa ULCCComponentBase::RenderMode.
| Valor | Visualización en el panel | Descripción |
|---|---|---|
Splatting | 3DGS | Renderiza como 3D Gaussian Splatting, calidad alta, coste alto |
PointCloud | Point Cloud | Renderiza como nube de puntos, calidad baja, coste bajo |
Cambiar a nube de puntos reduce el coste de forma sustancial y se adapta a las vistas superiores, los minimapas y las vistas lejanas en las que el detalle no es necesario. En el modo de nube de puntos los parámetros específicos del 3DGS (armónicos esféricos, SplatScale, GlobalAlpha) no surten efecto.
Interfaces relacionadas: SetRenderMode, ToggleRenderMode
ELoadMode
Modo de filtrado de carga. Lo usa ULCCComponentBase::LoadMode.
| Valor | Visualización en el panel | Descripción |
|---|---|---|
Both | Both | Renderiza la parte principal y el entorno |
OnlyMain | OnlyMain | Renderiza solo la parte principal |
OnlyEnvironment | OnlyEnvironment | Renderiza solo el entorno |
None | None | No renderiza nada |
La parte principal es la zona central capturada, y el entorno son los datos complementarios del alrededor. None equivale a una ocultación temporal mientras los datos permanecen en memoria, así que la recuperación es mucho más rápida que una recarga.
Interfaz relacionada: SetLoadMode
ELightMode
Modo de iluminación. Lo usa ULCCComponentBase::LightMode.
| Valor | Visualización en el panel | Descripción |
|---|---|---|
Unlit | Unlit | No le afecta la iluminación de la escena, muestra los colores originales tal como se capturaron |
Lit | Lit | Participa en la iluminación de la escena y puede interactuar con las luces dinámicas |
Los datos capturados ya incorporan la iluminación del lugar, así que cambiar a Lit añade otra capa y sobreexpone con facilidad. LCC2 necesita LightingScale para reducir el brillo original. Solo surte efecto en el modo 3DGS.
Interfaces relacionadas: SetLightMode, ToggleLightMode
EShadowMode
Modo de sombras.
| Valor | Visualización en el panel | Descripción |
|---|---|---|
None | None | No recibe sombras |
Static | Static | Recibe sombras estáticas |
Dynamic | Dynamic | Recibe sombras dinámicas |
EColorationMode
Modo de coloreado.
| Valor | Visualización en el panel | Descripción |
|---|---|---|
None | None | Usa solo el tinte |
Data | Data | Usa el RGB importado |
Elevation | Evelation | Colorea por elevación, sustituyendo los colores originales |
Position | Position | Colorea por posición relativa, sustituyendo los colores originales |
Elevation funciona junto con ElevationColorBottom y ElevationColorTop para la visualización de la altura del terreno.
ELCC2NormalGenerationMode
Modo de generación de normales de LCC2. Lo usa ULCC2Component::NormalMode.
Los propios datos 3DGS no tienen normales geométricas, mientras que la iluminación las necesita. Los tres primeros modos son construcciones aproximadas, y solo ProxyMesh aporta normales reales.
| Valor | Visualización en el panel | Sombreado real | Descripción |
|---|---|---|---|
Fixed | Fixed | No | Todo el 3DGS comparte una única normal en espacio de mundo indicada por el usuario, que apunta hacia arriba por defecto. El brillo de todo es igual a dot(normal, dirección de la luz) |
ViewFacing | View Facing | No | Todo mira hacia la cámara y se ilumina de forma uniforme |
Hemispherical | Hemispherical | No | Normales independientes de la cámara, proyectadas desde la posición en pantalla sobre un hemisferio fijo en espacio de mundo |
ProxyMesh | Proxy Mesh | Sí | La profundidad y las normales reales provienen de un ALCC2ProxyMesh de la escena, y el 3DGS aporta solo el color |
Compromisos de cada modo:
| Modo | Ventajas | Desventajas |
|---|---|---|
Fixed | Sin banda de luz diagonal, completamente estable a medida que la cámara se mueve, coste mínimo | Sin ningún sombreado de la forma; todo se oscurece cuando la luz llega por detrás de la normal |
ViewFacing | No requiere configuración, sin banda de luz diagonal | Sin sombreado de la forma; el brillo general varía al girar la cámara |
Hemispherical | Sin banda de luz diagonal, estable a medida que la cámara se mueve, la transición más suave cuando la luz del sol barre la escena | Sigue sin ser un sombreado real; requiere ajustar NormalPole y NormalHemiSpread |
ProxyMesh | Normales geométricas y profundidad reales | Requiere crear y colocar una malla proxy que coincida; requiere una licencia y recurre a Fixed sin ella |
Recomendación: Fixed por defecto; Hemispherical para un movimiento suave de la luz del sol; ProxyMesh para un sombreado real de la forma; ViewFacing solo para echar un vistazo rápido al resultado.
Páginas relacionadas: ULCC2Component, ALCC2ProxyMesh
Recorte y sección
EClipType
Dirección del recorte. La usa ALCCClippingVolume::Mode.
| Valor | Visualización en el panel | Descripción |
|---|---|---|
Inside | Inside | Se recorta el interior del volumen |
Outside | Outside | Se recorta el exterior del volumen |
Inside sirve para abrir huecos y descubrir el interior de una envolvente; Outside sirve para conservar únicamente la zona de interés.
EClipVolumeType
Forma del volumen de recorte. La usa ALCCClippingVolume::VolumeType.
| Valor | Descripción |
|---|---|
Box | Volumen de caja |
Sphere | Volumen de esfera |
ESectionType
Dirección de la sección. La usa ALCCSectionPlane::Mode.
| Valor | Visualización en el panel | Descripción |
|---|---|---|
Upside | Upside | Se recorta lo que queda por encima del plano |
Downside | Downside | Se recorta lo que queda por debajo del plano |
Arriba y abajo son relativos a la orientación del propio plano, no a las coordenadas de mundo. Rotar el plano de sección permite seccionar en cualquier dirección.
Páginas relacionadas: ALCCClippingVolume, ALCCSectionPlane
Datos y formatos
ELCCVersion
Versión de los datos.
| Valor | Descripción |
|---|---|
LCC | Formato LCC1 |
LCC2 | Formato LCC2 |
Interfaz relacionada: ULCCComponentBase::GetLccVersion
EFileFormat
Formato de archivo. Tipo de retorno de ULCCUtilLibrary::DetermineFileFormat.
| Valor | Extensión correspondiente |
|---|---|
None | No reconocido, o la ruta no existe |
LCC | .lcc |
Splats | .splats |
LAS | .las |
PLY | .ply |
Hay que tener en cuenta que el alcance de la detección de DetermineFileFormat es limitado: .lcc2, .sog y .spz devuelven todos None. Comprobar la extensión directamente para esos formatos, consultar DetermineFileFormat para más detalles.
EDataSourceType
Formato de origen de los datos de un árbol LCC2. Lo usa FLCC2MetaInfo::SplatType.
| Valor | Descripción |
|---|---|
SOG | Origen de datos .sog |
SPZ | Origen de datos .spz |
PLY | Origen de datos .ply |
Es una enumeración de C++ simple sin marcado UENUM y no es visible en Blueprint.
EFileType
Tipo de contenido de los datos.
| Valor | Visualización en el panel | Descripción |
|---|---|---|
Portable | Portable | Solo RGB, sin armónicos esféricos |
Quality | Quality | Con RGB y armónicos esféricos |
Los datos Portable no tienen armónicos esféricos disponibles, y entonces bUseShcoef no es editable. CanSetShcoef() en realidad solo comprueba si el tipo es Quality.
ELCCSourceType
Origen de los datos. Tipo de retorno de ULCCUtilLibrary::DetermineSourceType.
| Valor | Descripción |
|---|---|
Local | Archivo local |
Http | Dirección de red |
ECollisionType
Formato de los datos de colisión. Tipo de retorno de ULCCUtilLibrary::DetermineCollisionType.
| Valor | Descripción |
|---|---|
None | Sin datos de colisión |
Bin | Formato .bin heredado |
Lci | Formato .lci más reciente |
Ply | Colisión de nube de puntos .ply |
Cuando se devuelve None, activar bEnableCollision no surte efecto.
ELoadStatus
Estado de la carga.
| Valor | Descripción |
|---|---|
Success | Con éxito |
Failure | Fallida |
Progress | En curso |
Rendimiento y planificación
ETraversalType
Método de recorrido de nodos. Lo usa Default Traversal Type en la configuración del proyecto (Project Settings → Plugins → LCC4Unreal).
| Valor | Visualización en el panel | Descripción |
|---|---|---|
Circle | Circle | Recorrido circular centrado en la cámara con la distancia máxima de renderizado como radio |
Sector | Frustum | Recorrido basado en el frustum de la cámara |
Frustum solo procesa los nodos que están dentro de la vista y suele ser más económico, pero los nodos fuera de la vista no se precargan, así que puede aparecer un retardo de relleno al girar la vista rápidamente.
Hay que tener en cuenta que el nombre de la enumeración es Sector mientras el panel muestra Frustum.
ESortMethod
Método de ordenación de la translucidez. Lo usa Default Sort Method en la configuración del proyecto.
| Valor | Descripción |
|---|---|
GPU | Ordena en la GPU |
CPU | Ordena en la CPU |
GPU es la opción normal.
ESortMode
Orden de ordenación.
| Valor | Descripción |
|---|---|
Ascending | Ascendente |
Descending | Descendente |
EComputeType
Tipo de pipeline de cómputo.
| Valor | Descripción |
|---|---|
Compute | Usa Compute en el pipeline gráfico |
AsyncCompute | Usa el pipeline Compute asíncrono |
La implementación actual usa Compute; AsyncCompute tiene problemas de renderizado y todavía no está activado.
Localización
ELocale
Configuración regional. Tipo de retorno de ULCCUtilLibrary::GetLocale.
| Valor | Descripción |
|---|---|
EN_US | Inglés |
ZH_CN | Chino simplificado |
ELanguagePreference
Preferencia de idioma de la interfaz del plugin. La usa Language en la configuración del proyecto.
| Valor | Visualización en el panel | Descripción |
|---|---|---|
FollowEditor | Follow Editor | Sigue el ajuste de idioma actual del editor |
AlwaysEnglish | Always English | Fuerza el inglés independientemente del idioma del editor |
Usar enumeraciones en Blueprint
Un nodo Switch puede bifurcar según una enumeración en Blueprint:
[Get Render Mode]
Target = (LCC Component)
│ Return Value ──┐
▼ │
[Switch on ERenderMode] ◀┘
│ Splatting ──▶ (lógica de la rama 3DGS)
│ Point Cloud ─▶ (lógica de la rama de nube de puntos)
Una comparación directa también funciona:
[Get Effective Normal Generation Mode]
│ Return Value ──┐
▼ │
[Equal (Enum)] ◀─────────┘
A = (Return Value)
B = Proxy Mesh
│
▼
[Branch]
Véase también
- ULCCComponentBase: uso de
ERenderMode,ELoadModeyELightMode - ULCC2Component: uso de
ELCC2NormalGenerationMode - ULCCUtilLibrary: funciones de utilidad que devuelven las enumeraciones de formato
- Structs: los structs que usan estas enumeraciones