XGRIDSDocumentation
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • Lixel CyberColor

    • LCC Studio

      • Prise en main
      • Version et mises à jour
      • Téléchargement et installation
      • Aperçu de l’interface et navigation
      • Avant la reconstruction
      • Reconstruction du modèle
      • Reconstruction d’un modèle unique
      • Fusion cartographique
      • Fusion aérienne-terrestre
      • Reconstruction aérienne
      • Mes modèles
      • Autres fonctionnalités
      • Paramètres et compte
      • Convertisseur
      • Reconstruction vidéo
      • Questions fréquentes
    • LCC Scene Editor

      • Version et mises à jour
      • Compte et connexion
      • Présentation du produit et accueil
      • Interface de l’éditeur
      • Modes de navigation de scène
      • Fichier
      • Paramètres
      • Opérations d’édition
      • Fenêtre
      • Barre d’outils globale
      • Ressources et propriétés
      • Barre d’outils gauche
      • Points de vue
      • Portail
      • Skybox
      • Annotations
      • Mesure
      • Parcours
      • Rapport de scène
      • 3D Layout
      • Mini-carte
      • Mode Prévisualisation, Viewer
      • Aide
      • FAQ
      • Point d’apparition
    • LCC Model Editor

      • Version et mises à jour
      • Guide de l’utilisateur
      • Aperçu et interface
      • Opérations sur les fichiers
      • Sélecteurs
      • Modification des modèles
      • Mesure
      • Réglage des couleurs
      • Gestion des ressources
      • Paramètres et aide
      • Questions fréquentes
    • Bonnes Pratiques

      • Fusion de plusieurs modèles 3DGS de grande taille
  • Plugin & SDK

    • Unreal

      • Introduction
      • Démarrage rapide - Windows
      • Démarrage rapide - Linux
      • Démarrage rapide - Quest3
      • Éditions et licences
      • Rendu
      • Rastérisation Tiled (expérimental)
      • Réglages visuels
      • Normales et éclairage
      • Édition de scène
      • Paramètres de performance
      • Guide d'optimisation des performances
      • Intégration avec les plugins tiers et moteur
      • Maillage proxy
      • Animation de chargement
      • Collision
      • Prise en charge du système de navigation
      • Prise en charge de l'eau à couche unique
      • Localisation
      • Questions fréquentes
      • Dépannage
      • Journaux et diagnostics
      • Nous contacter
      • Bonnes pratiques

        • Rééclairer un 3DGS avec un maillage LixelStudio
        • Rendu indépendant par caméra
      • Référence API

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • Actors SOG / SPZ / PLY
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ALCCLoadVolume
        • ULCCUtilLibrary
        • Enums
        • Structs
      • Journal des modifications

        • v3.5.0
        • v3.4.0
        • v3.3.1
        • v3.0.0
        • v2.2.1
        • v1.0.0
        • v0.9.0
        • v0.8.0
        • v0.7.1
        • v0.6.1
        • v0.5.2
        • v0.4.1
        • v0.4.0
        • v0.3.0
        • v0.0.5
        • v0.0.4
        • v0.0.3
        • v0.0.2
        • v0.0.1
    • Unity

      • Introduction au SDK Unity
      • Fonctionnalités techniques
      • Exigences de l'environnement de développement
      • Guide de démarrage rapide PC
      • Guide d'optimisation des paramètres de projet
      • Guide de développement Pico 4 Ultra
      • Guide de streaming PC du Pico 4 Ultra
      • Guide de développement Quest 3
      • Guide de streaming PC du Quest 3
      • Guide de développement OpenXR
      • Guide Business Streaming du Pico 4 Ultra
      • Glossaire
      • FAQ
      • Nous contacter
      • Guide de développement des fonctionnalités

        • Guide de développement du rendu mixte multi-scènes
        • Guide de développement de la réception des ombres
        • Guide de développement de l'éclairage en temps réel
        • Guide de développement du rendu multi-caméras
        • Guide de développement du rendu d'images haute résolution
        • Guide de développement de la compatibilité des formats de données LCC et LCC2
        • Guide de développement de l'effet de chargement
        • Guide de développement du basculement du mode de rendu Mip
        • Guide de développement de l'accrochage aux arêtes et aux coins
        • Guide de développement du décalque projeté
        • Guide de développement du décalque projeté vidéo
        • Guide de développement du surlignage
        • Guide de développement de la découpe en temps réel
        • Guide de développement du réglage des couleurs
        • Guide de développement de l'obtention des données Mesh de la scène
        • Guide de développement du mode éditeur
        • Guide de configuration des paramètres de performance de rendu
        • Guide de développement du co-packageage de l'application et des données
        • Guide de développement du système de collision
        • Guide des problèmes d'autorisation de développement macOS
        • Guide de développement de la compilation et du packageage sur appareil iOS
      • Référence de l'API

        • LCCManager
        • Renderer
        • Types de données
      • Journal des modifications

        • v2.3.0
        • v2.2.10
        • v2.2.0
        • v2.1.19
        • v2.0.14
  • API

    • Modélisation spatiale structurée

      • Guide d'accès
      • Flux de modélisation
      • Référence des API
      • Identifiants temporaires d'importation
      • Codes d'erreur

Enums : référence des types énumérés

Types énumérés exposés par le module LCC4UnrealRuntime.

ModuleLCC4UnrealRuntime
En-têteCore/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.

ValeurAffichage dans le panneauDescription
Splatting3DGSRendu en 3D Gaussian Splatting, qualité d'image élevée, coût important
PointCloudPoint CloudRendu 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.

ValeurAffichage dans le panneauDescription
BothBothRend la partie principale et l'environnement
OnlyMainOnlyMainNe rend que la partie principale
OnlyEnvironmentOnlyEnvironmentNe rend que l'environnement
NoneNoneNe 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.

ValeurAffichage dans le panneauDescription
UnlitUnlitN'est pas affecté par l'éclairage de la scène, affiche les couleurs d'origine de la capture
LitLitParticipe à 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.

ValeurAffichage dans le panneauDescription
NoneNoneNe reçoit pas les ombres
StaticStaticReçoit les ombres statiques
DynamicDynamicReç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.

ValeurAffichage dans le panneauDescription
ElevationEvelationColore selon l'altitude, en remplaçant les couleurs d'origine
DataDataUtilise 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.

ValeurAffichage dans le panneauModelé réelDescription
FixedFixedNonL'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)
ViewFacingView FacingNonL'ensemble s'oriente vers la caméra, l'éclairage est uniforme
HemisphericalHemisphericalNonNormales indépendantes de la caméra, obtenues en projetant la position à l'écran sur un hémisphère monde fixe
ProxyMeshProxy MeshOuiUn ALCC2ProxyMesh de la scène fournit la profondeur et les normales réelles, le 3DGS n'apporte que la couleur

Compromis de chaque mode :

ModeAvantagesInconvénients
FixedAucune bande lumineuse diagonale, parfaitement stable lors des déplacements de caméra, coût minimalAucun modelé des formes ; l'ensemble s'assombrit quand la lumière vient de l'arrière de la normale
ViewFacingAucune configuration nécessaire, aucune bande lumineuse diagonaleAucun modelé des formes ; la luminosité d'ensemble dérive quand la caméra pivote
HemisphericalAucune bande lumineuse diagonale, stable lors des déplacements de caméra, transition la plus douce lors du passage du soleilLe modelé n'est toujours pas réel ; nécessite le réglage de NormalPole et NormalHemiSpread
ProxyMeshNormales géométriques et profondeur réellesNé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.

ValeurAffichage dans le panneauDescription
InsideInsideL'intérieur du volume est retiré
OutsideOutsideL'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.

ValeurDescription
BoxVolume en boîte
SphereVolume en sphère

ESectionType

Direction de la coupe. Utilisée par ALCCSectionPlane::Mode.

ValeurAffichage dans le panneauDescription
UpsideUpsideCe qui est au-dessus du plan est retiré
DownsideDownsideCe 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.

ValeurAffichage dans le panneauDescription
InsideInsideNe charge que les données situées à l'intérieur du volume
OutsideOutsideNe 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.

ValeurDescription
BoxVolume en boîte
SphereVolume en sphère

Pages associées : ALCCClippingVolume, ALCCSectionPlane, Volumes de chargement

Données et formats

ELCCVersion

Version des données.

ValeurDescription
LCCFormat LCC1
LCC2Format LCC2

Interface associée : ULCCComponentBase::GetLccVersion

EFileFormat

Format de fichier. Type de retour de ULCCUtilLibrary::DetermineFileFormat.

ValeurExtension correspondante
NoneNon 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.

ValeurDescription
SOGSource de données .sog
SPZSource de données .spz
PLYSource de données .ply

C'est une énumération C++ ordinaire, sans marqueur UENUM, invisible depuis Blueprint.

EFileType

Type de contenu des données.

ValeurAffichage dans le panneauDescription
PortablePortableContient seulement le RGB, sans harmoniques sphériques
QualityQualityContient à 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.

ValeurDescription
LocalFichier local
HttpAdresse réseau

ECollisionType

Format des données de collision. Type de retour de ULCCUtilLibrary::DetermineCollisionType.

ValeurDescription
NoneAucune donnée de collision
BinAncien format .bin
LciNouveau format .lci
PlyCollision par nuage de points .ply

Lorsque None est renvoyé, activer bEnableCollision reste sans effet.

ELoadStatus

État du chargement.

ValeurDescription
SuccessRéussi
FailureÉchoué
ProgressEn 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.

ValeurDescription
UnloadedAucun modèle n'est chargé
LoadingLe 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
LoadedLa 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
FailedLe 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.

ValeurDescription
NoCollisionLa collision est désactivée, ou il n'y a aucun modèle
GeneratingModè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
LoadingLe 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
LoadedLa 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
FailedLa 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.

ValeurDescription
NoAnimationL'animation est désactivée, ou il n'y a aucun modèle
PlayingL'animation de chargement est en cours ; Load / Refresh / SetEnableAnimation la relancent
FinishedL'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.

ValeurDescription
NoneAucune erreur
FileNotFoundLe 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
InvalidDataLe 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).

ValeurAffichage dans le panneauDescription
CircleCircleTraversal circulaire centré sur la caméra, de rayon égal à la distance de rendu maximale
SectorFrustumTraversal 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.

ValeurDescription
GPUTri par le GPU
CPUTri par le CPU

Utiliser le GPU en général.

ESortMode

Ordre de tri.

ValeurDescription
AscendingCroissant
DescendingDécroissant

EComputeType

Type de pipeline de calcul.

ValeurDescription
ComputeCompute sur la pipeline graphique
AsyncComputePipeline 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.

ValeurDescription
EN_USAnglais
ZH_CNChinois simplifié

ELanguagePreference

Préférence de langue de l'interface du plugin. Utilisée par l'entrée Language des réglages du projet.

ValeurAffichage dans le panneauDescription
FollowEditorFollow EditorSuit le réglage de langue courant de l'éditeur
AlwaysEnglishAlways EnglishForce 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, ELoadMode et ELightMode
  • ULCC2Component : utilisation de ELCC2NormalGenerationMode
  • ULCCUtilLibrary : les fonctions utilitaires qui renvoient les énumérations de format
  • Structs : les structures qui utilisent ces énumérations