Enums : référence des types énumérés
Types énumérés exposés par le module LCC4UnrealRuntime.
| Module | LCC4UnrealRuntime |
| En-tête | Core/LCCEnum.h |
#include "Core/LCCEnum.h"
Les énumérations portant BlueprintType sont directement utilisables dans Blueprint : elles peuvent alimenter un node Switch et servir de type de variable.
Rendu
ERenderMode
Mode de rendu. Utilisé par ULCCComponentBase::RenderMode.
| Valeur | Affichage dans le panneau | Description |
|---|---|---|
Splatting | 3DGS | Rendu en 3D Gaussian Splatting, qualité d'image élevée, coût important |
PointCloud | Point Cloud | Rendu en nuage de points, qualité d'image faible, coût réduit |
Passer au nuage de points réduit fortement le coût, ce qui convient aux vues de dessus, aux minicartes et aux plans lointains, où le détail n'est pas nécessaire. En mode nuage de points, les paramètres propres au 3DGS (harmoniques sphériques, SplatScale, GlobalAlpha) restent sans effet.
Interfaces associées : SetRenderMode, ToggleRenderMode
ELoadMode
Mode de filtrage au chargement. Utilisé par ULCCComponentBase::LoadMode.
| Valeur | Affichage dans le panneau | Description |
|---|---|---|
Both | Both | Rend la partie principale et l'environnement |
OnlyMain | OnlyMain | Ne rend que la partie principale |
OnlyEnvironment | OnlyEnvironment | Ne rend que l'environnement |
None | None | Ne rend rien |
La partie principale est la zone centrale capturée, l'environnement est le complément périphérique. None équivaut à masquer temporairement tout en conservant les données en mémoire, ce qui rend le retour à l'affichage beaucoup plus rapide qu'un rechargement.
Interface associée : SetLoadMode
ELightMode
Mode d'éclairage. Utilisé par ULCCComponentBase::LightMode.
| Valeur | Affichage dans le panneau | Description |
|---|---|---|
Unlit | Unlit | N'est pas affecté par l'éclairage de la scène, affiche les couleurs d'origine de la capture |
Lit | Lit | Participe à l'éclairage de la scène et peut interagir avec les lumières dynamiques |
Les données capturées ont déjà l'éclairage du site intégré : passer à Lit en ajoute une couche supplémentaire et surexpose facilement l'image. Sur LCC2, il faut l'accompagner de LightingScale pour abaisser la luminosité d'origine. Effectif en mode 3DGS uniquement.
Interfaces associées : SetLightMode, ToggleLightMode
EShadowMode
Mode d'ombres.
| Valeur | Affichage dans le panneau | Description |
|---|---|---|
None | None | Ne reçoit pas les ombres |
Static | Static | Reçoit les ombres statiques |
Dynamic | Dynamic | Reçoit les ombres dynamiques |
EColorationMode
Mode de coloration.
Manière de colorer les données en mode de rendu nuage de points. Utilisé par ULCCComponentBase::ColorationMode.
| Valeur | Affichage dans le panneau | Description |
|---|---|---|
Elevation | Evelation | Colore selon l'altitude, en remplaçant les couleurs d'origine |
Data | Data | Utilise le RGB fourni par les données |
Elevation s'accompagne de ElevationColorBottom et ElevationColorTop pour visualiser les hauteurs de terrain ; Data restitue les couleurs réelles des objets. Effectif uniquement lorsque le mode de rendu est le nuage de points, voir Réglages visuels - Nuage de points.
ELCC2NormalGenerationMode
Mode de génération des normales LCC2. Utilisé par ULCC2Component::NormalMode.
Les données 3DGS n'ont pas de normales géométriques propres, alors que l'éclairage en a besoin. Les trois premiers modes construisent des normales par approximation, seul ProxyMesh fournit de vraies normales.
| Valeur | Affichage dans le panneau | Modelé réel | Description |
|---|---|---|---|
Fixed | Fixed | Non | L'ensemble du 3DGS partage une normale monde indiquée par l'utilisateur, orientée vers le haut par défaut. La luminosité de l'ensemble vaut dot(normale, direction de la lumière) |
ViewFacing | View Facing | Non | L'ensemble s'oriente vers la caméra, l'éclairage est uniforme |
Hemispherical | Hemispherical | Non | Normales indépendantes de la caméra, obtenues en projetant la position à l'écran sur un hémisphère monde fixe |
ProxyMesh | Proxy Mesh | Oui | Un ALCC2ProxyMesh de la scène fournit la profondeur et les normales réelles, le 3DGS n'apporte que la couleur |
Compromis de chaque mode :
| Mode | Avantages | Inconvénients |
|---|---|---|
Fixed | Aucune bande lumineuse diagonale, parfaitement stable lors des déplacements de caméra, coût minimal | Aucun modelé des formes ; l'ensemble s'assombrit quand la lumière vient de l'arrière de la normale |
ViewFacing | Aucune configuration nécessaire, aucune bande lumineuse diagonale | Aucun modelé des formes ; la luminosité d'ensemble dérive quand la caméra pivote |
Hemispherical | Aucune bande lumineuse diagonale, stable lors des déplacements de caméra, transition la plus douce lors du passage du soleil | Le modelé n'est toujours pas réel ; nécessite le réglage de NormalPole et NormalHemiSpread |
ProxyMesh | Normales géométriques et profondeur réelles | Nécessite de fabriquer et de placer un maillage proxy correspondant ; nécessite une licence, et se replie sur Fixed sans licence |
Conseils de choix : Fixed par défaut ; Hemispherical pour une course du soleil fluide ; ProxyMesh pour un modelé réel des formes ; ViewFacing convient seulement pour évaluer rapidement un résultat.
Pages associées : ULCC2Component, ALCC2ProxyMesh
Découpe et coupe
EClipType
Direction de la découpe. Utilisée par ALCCClippingVolume::Mode.
| Valeur | Affichage dans le panneau | Description |
|---|---|---|
Inside | Inside | L'intérieur du volume est retiré |
Outside | Outside | L'extérieur du volume est retiré |
Inside sert à percer des ouvertures et à ouvrir une enveloppe ; Outside sert à ne conserver que la zone d'intérêt.
EClipVolumeType
Forme du volume de découpe. Utilisée par ALCCClippingVolume::VolumeType.
| Valeur | Description |
|---|---|
Box | Volume en boîte |
Sphere | Volume en sphère |
ESectionType
Direction de la coupe. Utilisée par ALCCSectionPlane::Mode.
| Valeur | Affichage dans le panneau | Description |
|---|---|---|
Upside | Upside | Ce qui est au-dessus du plan est retiré |
Downside | Downside | Ce qui est en dessous du plan est retiré |
Le haut et le bas s'entendent par rapport à l'orientation propre du plan, pas aux coordonnées du monde. Faire pivoter le plan de coupe permet d'obtenir une coupe dans n'importe quelle direction.
ELoadRegion
Région de chargement. Utilisée par ALCCLoadVolume::Mode.
| Valeur | Affichage dans le panneau | Description |
|---|---|---|
Inside | Inside | Ne charge que les données situées à l'intérieur du volume |
Outside | Outside | Ne charge que les données situées à l'extérieur du volume |
Différence avec EClipType : le choix porte ici sur la partie à charger, et non sur la partie à retirer. Les zones rejetées ne sont pas lues du tout, ce qui réduit le volume chargé et l'occupation de la mémoire vidéo. Le test se fait par nœud, la bordure est donc plus grossière que celle d'un volume de découpe.
ELoadVolumeType
Forme du volume de chargement. Utilisée par ALCCLoadVolume::VolumeType.
| Valeur | Description |
|---|---|
Box | Volume en boîte |
Sphere | Volume en sphère |
Pages associées : ALCCClippingVolume, ALCCSectionPlane, Volumes de chargement
Données et formats
ELCCVersion
Version des données.
| Valeur | Description |
|---|---|
LCC | Format LCC1 |
LCC2 | Format LCC2 |
Interface associée : ULCCComponentBase::GetLccVersion
EFileFormat
Format de fichier. Type de retour de ULCCUtilLibrary::DetermineFileFormat.
| Valeur | Extension correspondante |
|---|---|
None | Non reconnu, ou chemin inexistant |
LCC | .lcc |
Splats | .splats |
LAS | .las |
PLY | .ply |
Noter que la portée de reconnaissance de DetermineFileFormat est limitée : .lcc2, .sog et .spz renvoient tous None. Pour reconnaître ces formats, regarder directement l'extension, voir DetermineFileFormat.
EDataSourceType
Format de la source de données d'un arbre LCC2. Utilisé par FLCC2MetaInfo::SplatType.
| Valeur | Description |
|---|---|
SOG | Source de données .sog |
SPZ | Source de données .spz |
PLY | Source de données .ply |
C'est une énumération C++ ordinaire, sans marqueur UENUM, invisible depuis Blueprint.
EFileType
Type de contenu des données.
| Valeur | Affichage dans le panneau | Description |
|---|---|---|
Portable | Portable | Contient seulement le RGB, sans harmoniques sphériques |
Quality | Quality | Contient à la fois le RGB et les harmoniques sphériques |
Les données Portable n'ont pas d'harmoniques sphériques disponibles, bUseShcoef n'est alors pas modifiable. CanSetShcoef() ne fait en réalité que tester si le type est Quality.
ELCCSourceType
Source des données. Type de retour de ULCCUtilLibrary::DetermineSourceType.
| Valeur | Description |
|---|---|
Local | Fichier local |
Http | Adresse réseau |
ECollisionType
Format des données de collision. Type de retour de ULCCUtilLibrary::DetermineCollisionType.
| Valeur | Description |
|---|---|
None | Aucune donnée de collision |
Bin | Ancien format .bin |
Lci | Nouveau format .lci |
Ply | Collision par nuage de points .ply |
Lorsque None est renvoyé, activer bEnableCollision reste sans effet.
ELoadStatus
État du chargement.
| Valeur | Description |
|---|---|
Success | Réussi |
Failure | Échoué |
Progress | En cours |
States
Les énumérations d'état utilisées par la requête d'état et les événements de ULCCComponentBase, définies dans Core/LCCEventTypes.h.
Les valeurs d'énumération ne sont qu'ajoutées, jamais modifiées (les Blueprints les stockent par valeur), et les versions ultérieures peuvent ajouter de nouvelles valeurs ; les rappels doivent donc tolérer une valeur qu'ils ne reconnaissent pas.
ELCCLoadState
État de chargement, de Load() à la première image. Après Loaded, les données continuent d'arriver en streaming autour de la caméra, et l'état ne revient pas en arrière pour autant.
| Valeur | Description |
|---|---|
Unloaded | Aucun modèle n'est chargé |
Loading | Le chargement a démarré, les bounds et les métadonnées sont lisibles, les données nécessaires à la vue arrivent en streaming ; utilisez GetLoadProgress pour la progression |
Loaded | La vue courante a terminé son chargement. Cela ne signifie pas que chaque bloc a été lu correctement : quand une partie des données échoue à la lecture, OnLoadFailed le signale et le modèle peut être incomplet. Reste Loaded jusqu'à la libération du modèle |
Failed | Le dernier chargement a échoué, aucun modèle |
ELCCCollisionState
État de collision, de l'activation de la collision à la mise en place du premier maillage de collision. La collision se charge autour de la caméra et arrive en streaming au fil des déplacements, donc Loaded signifie que la collision près de la caméra est en place, pas que tout le modèle possède une collision.
| Valeur | Description |
|---|---|
NoCollision | La collision est désactivée, ou il n'y a aucun modèle |
Generating | Modèles mono-fichier uniquement (PLY/SPZ/SOG) : génération du maillage de collision à partir des gaussiennes, de quelques secondes à quelques minutes ; ignoré quand un cache existe |
Loading | Le maillage de collision près de la caméra est en cours de chargement et de cook ; reste Loading tant qu'il n'y a pas encore de données de collision dans la distance de chargement |
Loaded | La collision près de la caméra est en place pour la première fois et les objets proches ne traversent plus ; reste Loaded tant que la collision continue d'arriver en streaming au fil des déplacements de la caméra |
Failed | La collision est activée mais ne peut pas être fournie : pas de données de collision, génération non licenciée, ou génération échouée. Voir l'Output Log ; désactivez puis réactivez pour relancer |
ELCCLoadAnimationState
État de l'animation de chargement (bEnableAnimation). L'animation est cadencée par le temps de chargement et n'attend pas les données : Finished signifie que l'animation a fini de jouer, pas que le modèle est complet à l'écran.
| Valeur | Description |
|---|---|
NoAnimation | L'animation est désactivée, ou il n'y a aucun modèle |
Playing | L'animation de chargement est en cours ; Load / Refresh / SetEnableAnimation la relancent |
Finished | L'animation est terminée et l'environnement est apparu. En sens direct, le modèle est entièrement affiché ; en sens inverse, il a disparu. Revient à Playing quand un changement de réglage d'animation provoque une relecture |
ELCCLoadError
Cause de l'échec de chargement, utilisée par FLCCLoadFailure::Error.
| Valeur | Description |
|---|---|
None | Aucune erreur |
FileNotFound | Le fichier passé à Load est introuvable (pour un modèle .lcc, cela inclut aussi les data.bin / index.bin voisins). Rien n'a été chargé et un modèle déjà chargé est conservé. Vérifiez le chemin |
InvalidData | Le fichier a été trouvé mais est corrompu, dépourvu de fichiers de données, ou n'est pas un modèle que le plugin peut lire. Soit rien n'a été chargé (GetLoadState vaut Failed), soit le modèle a été chargé mais une partie des données a échoué à la lecture et il est incomplet (GetLoadState vaut Loading ou Loaded). Voir Message et l'Output Log |
Performance et ordonnancement
ETraversalType
Mode de traversal des nœuds. Utilisé par l'entrée Default Traversal Type des réglages du projet (Project Settings → Plugins → LCC4Unreal).
| Valeur | Affichage dans le panneau | Description |
|---|---|---|
Circle | Circle | Traversal circulaire centré sur la caméra, de rayon égal à la distance de rendu maximale |
Sector | Frustum | Traversal fondé sur le frustum de la caméra |
Frustum ne traite que les nœuds dans le champ de vision et se révèle généralement plus économe, mais les nœuds hors champ ne sont pas préchargés : un délai de complètement peut apparaître lors des rotations rapides du point de vue.
Noter que le nom de l'énumération est Sector, tandis que le panneau affiche Frustum.
ESortMethod
Méthode de tri de la translucidité. Utilisée par l'entrée Default Sort Method des réglages du projet.
| Valeur | Description |
|---|---|
GPU | Tri par le GPU |
CPU | Tri par le CPU |
Utiliser le GPU en général.
ESortMode
Ordre de tri.
| Valeur | Description |
|---|---|
Ascending | Croissant |
Descending | Décroissant |
EComputeType
Type de pipeline de calcul.
| Valeur | Description |
|---|---|
Compute | Compute sur la pipeline graphique |
AsyncCompute | Pipeline de Compute asynchrone |
L'implémentation actuelle utilise Compute ; AsyncCompute présente des problèmes de rendu et n'est pas encore activé.
Localisation
ELocale
Environnement linguistique. Type de retour de ULCCUtilLibrary::GetLocale.
| Valeur | Description |
|---|---|
EN_US | Anglais |
ZH_CN | Chinois simplifié |
ELanguagePreference
Préférence de langue de l'interface du plugin. Utilisée par l'entrée Language des réglages du projet.
| Valeur | Affichage dans le panneau | Description |
|---|---|---|
FollowEditor | Follow Editor | Suit le réglage de langue courant de l'éditeur |
AlwaysEnglish | Always English | Force l'anglais, indépendamment de la langue de l'éditeur |
Utiliser les énumérations dans Blueprint
Dans Blueprint, un node Switch permet de brancher selon une énumération :
[Get Render Mode]
Target = (LCC Component)
│ Return Value ──┐
▼ │
[Switch on ERenderMode] ◀┘
│ Splatting ──▶ (3DGS branch logic)
│ Point Cloud ─▶ (point cloud branch logic)
Une comparaison directe est également possible :
[Get Effective Normal Generation Mode]
│ Return Value ──┐
▼ │
[Equal (Enum)] ◀─────────┘
A = (Return Value)
B = Proxy Mesh
│
▼
[Branch]
Voir aussi
- ULCCComponentBase : utilisation de
ERenderMode,ELoadModeetELightMode - ULCC2Component : utilisation de
ELCC2NormalGenerationMode - ULCCUtilLibrary : les fonctions utilitaires qui renvoient les énumérations de format
- Structs : les structures qui utilisent ces énumérations