XGRIDSDocumentation
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • 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
  • 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
      • Référence API

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

        • 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

Réglage des paramètres d'image 3DGS

Ce document comporte trois parties : les paramètres communs agissent sur les deux pipelines, puis viennent les paramètres propres à chaque pipeline. Les paramètres spécifiques à une pipeline n'apparaissent pas dans le panneau Details de l'autre.

Paramètres communs

Render Mode

3D Gaussian Splatting (par défaut)

Rend les données sous forme d'ellipses gaussiennes 2D avec couleur et transparence complètes.

LCCComponent->SetRenderMode(ERenderMode::Splatting);

Nuage de points

Rend chaque splat comme un point coloré unique, adapté aux vues d'ensemble ou aux scènes contraintes en performances.

LCCComponent->SetRenderMode(ERenderMode::PointCloud);
Basculement entre les modes de rendu 3DGS et nuage de points

Basculement entre les modes de rendu 3DGS et nuage de points

Le mode nuage de points prend en charge deux méthodes de colorisation, changées avec ColorationMode :

ModeLibellé du panneauDescription
DataDataColorise les points avec le RGB stocké dans les données
ElevationEvelationAttribue la couleur selon l'altitude, en remplaçant les couleurs d'origine

Avec Elevation, ces deux propriétés définissent les extrémités du dégradé :

  • ElevationColorBottom — couleur à l'altitude la plus basse
  • ElevationColorTop — couleur à l'altitude la plus haute
Colorisation par altitude en mode nuage de points

Colorisation par altitude en mode nuage de points

Utilisez Data pour voir les couleurs réelles de la scène capturée, et Elevation pour lire le relief du terrain et les différences de hauteur.

Colorisation Data en mode nuage de points

Colorisation Data en mode nuage de points, affichant les couleurs réelles stockées dans les données

Load Mode

Les données sont séparées en une partie principale et une partie environnement, et LoadMode contrôle la partie rendue :

ModeDescription
BothRend la partie principale et l'environnement (par défaut)
OnlyMainRend uniquement la partie principale
OnlyEnvironmentRend uniquement l'environnement
NoneNe rend rien, les données restent chargées
Basculement des modes de rendu principal et environnement de LoadMode

Changement du périmètre de rendu principal et environnement avec LoadMode

Note : None arrête seulement le rendu, et les données occupent toujours la mémoire vidéo. Appelez UnLoad() pour libérer les ressources.

Light Mode

Unlit (par défaut)

Utilise uniquement la couleur des gaussiennes elles-mêmes, sans interaction avec les lumières de la scène.

Lit

Active l'éclairage différé pour que la scène 3DGS puisse être affectée par les lumières directionnelles, les lumières ponctuelles et d'autres. Nécessite des informations de profondeur et de normales.

LCCComponent->SetLightMode(ELightMode::Lit);
Basculement entre les modes d'éclairage Unlit et Lit

Basculement entre les modes d'éclairage Unlit et Lit

Mip Filter

Quand il est activé, applique un filtre passe-bas 2D avec une compensation d'opacité pour réduire le scintillement aux différentes échelles.

La valeur par défaut dépend du format de données :

FormatValeur par défaut
.lcc2 / .lccActivé
.ply / .spz / .sogDésactivé

Les formats à fichier unique le désactivent par défaut afin de préserver l'aspect net d'origine des données. Activez-le manuellement quand du scintillement apparaît :

LCCComponent->SetUseMipFilter(true);

Harmoniques sphériques (SH)

Apportent une variation de couleur dépendante du point de vue et améliorent la fidélité de l'éclairage.

LCCComponent->SetUseShcoef(true);

Prérequis :

  • Le mode de rendu est 3DGS
  • Les données contiennent elles-mêmes des coefficients SH

La présence de coefficients SH dans les données dépend du format :

FormatComment cela est déterminé
.lcc2 / .lccDéterminé par le type de fichier des données : le type Quality contient des SH, le type Portable non
.ply / .spz / .sogPas de marqueur de type de fichier, cela dépend donc de l'écriture effective des coefficients SH dans le fichier

Quand les données ne contiennent aucun coefficient SH, cette option est désactivée dans le panneau Details.

Bandes SH

Une fois les SH activées, SHBands règle le nombre d'ordres qui participent au calcul, de 1 à 3. La propriété n'est disponible que sur la pipeline LCC2, et s'applique indifféremment à .lcc2, .sog, .spz et .ply.

LCC2Component->SetSHBands(2);
RéglageEffet
bUseShcoef désactivéAucune SH ; la couleur ne change pas avec le point de vue, coût minimal
SHBands = 1Conserve la variation la plus basique liée au point de vue ; l'occupation mémoire GPU représente un quart de celle du 3e ordre
SHBands = 2Intermédiaire entre les deux
SHBands = 3 (par défaut)Effet complet lié au point de vue, coût maximal

La valeur par défaut vient de l'ordre stocké dans les données, qui est aussi la limite supérieure. Régler 3 sur des données qui ne stockent que 2 ordres n'apporte rien de plus. Comparé à la désactivation complète des SH, baisser l'ordre est un compromis plus fin : cela conserve une partie de la variation liée au point de vue tout en réduisant le coût d'ombrage et l'occupation mémoire GPU. Pour les chiffres de mémoire, voir Rendu - Structure des Buffers.

SplatScale

Contrôle la taille de chaque quad de splat, de 0.001 à 1.0.

Le baisser réduit la surface écran couverte par un splat, ce qui réduit le recouvrement semi-transparent et abaisse le coût de remplissage de pixels. Le baisser trop fait apparaître des trous sur les surfaces ou leur donne un aspect nettement trop fin. C'est aussi l'une des options de réglage des performances ; voir Guide de performance.

LCCComponent->SetSplatScale(1.0f);
Réglages SplatScale et GlobalAlpha

Réglage de l'échelle des splats et de l'alpha global 3DGS

Alpha global

Chaque mode de rendu possède sa propre propriété d'alpha global, toutes deux de 0.0 à 1.0 :

PropriétéS'applique à
GlobalAlpha3DGS
GlobalAlpha_PointCloudNuage de points
LCCComponent->SetGlobalAlpha(1.0f);
LCCComponent->SetGlobalAlpha_PointCloud(1.0f);
Réglage de l'alpha en mode nuage de points

Réglage de l'alpha global du mode nuage de points

Réglage des couleurs

Paramètres de réglage des couleurs LCC

Configuration des paramètres LCC de saturation, de contraste et de teinte

Les modifications à l'exécution sont prises en charge :

PropriétéPlageDescription
Saturation0.0~2.0Saturation par canal
Contrast0.0~2.0Contraste par canal
Gamma0.0~2.0Correction gamma par canal
Offset-1.0~1.0Décalage de couleur additif
ColorTintLinearColorTeinte multiplicative
LCCComponent->SetSaturation(FVector4(1.2, 1.2, 1.2, 1.0));
LCCComponent->SetColorTint(FLinearColor::White);
Résultat du réglage dynamique des couleurs

L'image après réglage dynamique des paramètres de couleur

Anticrénelage

Avec bAffectAntiAliasingMethod activé, le plugin gère automatiquement la méthode d'anticrénelage :

ConfigurationMéthode par défaut
LCC1 SplatFXAA
LCC2 SplatTSR
LCC1 Point CloudMSAA
LCC2 Point CloudTSR

Les valeurs par défaut sont modifiables dans ProjectSettings > Plugins > LCC4Unreal.

Note : la méthode d'anticrénelage est un réglage global au niveau de la vue. Quand des Actors de la pipeline LCC et de la pipeline LCC2 coexistent dans la même scène, chacun définit la méthode d'anticrénelage selon sa propre configuration ; celle qui prend effet dépend donc de l'ordre d'exécution et le résultat est indéterminé. Dans ce type de scène, configurez manuellement la même méthode d'anticrénelage pour les deux pipelines.

Réglages d'anticrénelage de LCC4Unreal

Configuration de la méthode d'anticrénelage par défaut de chaque pipeline LCC

Post-traitement

Réglages de post-traitement de LCC4Unreal

Configuration des options de post-traitement et de tone mapping de LCC4Unreal

RéglageValeur par défautDescription
Enable Post ProcessActivéLes pixels LCC participent ou non à la pipeline de post-traitement du moteur
Apply Tonemap InverseDésactivéApplique FilmToneMapInverse lors de la conversion d'espace colorimétrique afin de restituer l'aspect d'origine des données après le tone mapping du moteur

Ce sont des réglages globaux situés sous ProjectSettings > Plugins > LCC4Unreal > Rendering et ils s'appliquent aux deux pipelines. Tous les composants LCC d'une scène partagent le même mode, qui ne peut pas être défini par Actor.

Résultat de la désactivation d'Enable Post Process

Les deux états sont traités différemment :

ÉtatTraitementRésultat
ActivéApplique InverseACES aux pixels LCC pour qu'ils entrent dans la pipeline de post-traitement du moteurLe 3DGS reçoit le tone mapping, le Bloom, l'exposition, l'étalonnage et les autres post-traitements en même temps que les objets classiques de la scène
DésactivéEnregistre un instantané avant le tone mapping et le recompose dans l'image par alpha une fois le tone mapping terminéLe 3DGS conserve ses couleurs d'origine et n'est affecté ni par le tone mapping ni par aucune étape de post-traitement suivante

Le désactiver convient aux cas qui exigent une reproduction stricte des couleurs d'origine des données, comme la vérification de couleurs ou la comparaison à une image de référence. En contrepartie, le 3DGS et les objets classiques de la scène ne se ressemblent plus, et les effets de post-traitement globaux comme le Bloom et l'exposition ne s'appliquent pas à la partie 3DGS.

Note : désactiver Enable Post Process nécessite la sortie du canal alpha dans le moteur, sinon le résultat de composition est incorrect. Activez Alpha Output dans ProjectSettings > Engine > Rendering (dans UE 5.4 et versions antérieures, cela correspond à « Enable alpha channel support in post processing », à régler sur Linear color space only puis à redémarrer l'éditeur). Le plugin affiche un avertissement quand il détecte que cette option est désactivée.

Rôle d'Apply Tonemap Inverse

Les couleurs des données 3DGS sont des couleurs finalisées qui ont déjà subi un tone mapping lors de la capture. Faire repasser ces couleurs par le tone mapping du moteur les compresse une seconde fois, ce qui se traduit généralement par un contraste plus faible et des hautes lumières grisâtres.

Avec cette option activée, le plugin applique FilmToneMapInverse aux couleurs LCC lors de l'étape de conversion d'espace colorimétrique afin d'annuler le tone mapping du moteur qui suit, si bien que l'image finale restitue l'aspect d'origine des données.

ÉtatCas d'usage
Désactivé (par défaut)Le 3DGS et les objets classiques de la scène partagent le même tone mapping pour un rendu global cohérent
ActivéLe 3DGS doit afficher les couleurs et le contraste d'origine des données

Cette option s'applique aux deux pipelines et n'a de sens que si Enable Post Process est activé : dès qu'il est désactivé, le 3DGS ne participe plus au tone mapping, il n'y a donc rien à annuler.

Paramètres propres à la pipeline LCC2

Seuil de profondeur

AlphaThreshold décide quelle couche de profondeur le 3DGS écrit dans le depth buffer. Le 3DGS est composé de nombreuses couches de splats semi-transparents, et le plugin accumule l'opacité du plus proche au plus lointain. Quand la valeur accumulée atteint ce seuil, la profondeur courante est enregistrée comme profondeur représentative de ce pixel.

ÉlémentValeur
Plage0.01 ~ 0.99
Valeur par défaut0.5

Le baisser rapproche la profondeur de la caméra, l'augmenter l'en éloigne. Cette profondeur participe à l'éclairage, aux tests d'occlusion et aux post-traitements dépendants de la profondeur ; la réponse des surfaces en mode Lit et l'occlusion mutuelle avec les meshes classiques évoluent donc avec elle.

LCC2Component->AlphaThreshold = 0.5f;

Cas typique justifiant de le baisser : les données contiennent des structures fines à très faible opacité, comme des ailes d'insectes ou d'oiseaux, un grillage ou des bords de feuilles. Les splats de ces zones n'atteignent jamais l'opacité accumulée par défaut de 0.5, aucune profondeur n'est donc écrite. Si la scène comporte en plus une skybox, du brouillard ou un autre arrière-plan non noir, ces zones se mélangent à la couleur d'arrière-plan faute de profondeur, ce qui se traduit par des structures délavées et une perte de détail. Baisser le seuil permet à ces zones d'écrire la profondeur plus tôt et restitue le détail.

Baissez-le progressivement et observez. Une valeur trop basse tire toute la profondeur vers la caméra et affecte les relations d'occlusion et les post-traitements dépendants de la profondeur.

Note : cette propriété se trouve dans la zone repliée Advanced du panneau Details, et la valeur par défaut convient à la plupart des scènes.

Paramètres propres à la pipeline LCC

Réception des ombres

LCCComponent->bReceiveShadows = true;

Note : nécessite le mode de rendu 3DGS. L'activer a un impact important sur les performances.

3DGS recevant des ombres

Rendu 3DGS avec la réception des ombres activée

Découpe des jointures

bEnableSeamCutting supprime les jointures que le rendu par blocs produit aux frontières de nœuds. Les données LCC en version 5.0 et supérieure l'activent automatiquement ; activez-le manuellement si des jointures visibles apparaissent dans des données de versions inférieures.

LCCComponent->bEnableSeamCutting = true;

Note : cette propriété se trouve dans la zone repliée Advanced du panneau Details.

Tri de la translucidité entre plusieurs Actors

La pipeline LCC ne produit pas de profondeur, donc plusieurs LCC Actors ne peuvent pas obtenir une occlusion mutuelle correcte par le test de profondeur et ne peuvent que l'approcher par l'ordre de dessin des éléments translucides. bEnableMultipleLCCActorAutoSort (activé par défaut) règle automatiquement TranslucentSortPriority selon la distance de chaque Actor à la caméra, si bien que les Actors les plus proches sont dessinés en dernier, ce qui donne un résultat de recouvrement acceptable dans la plupart des cas.

Ce tri fonctionne à la granularité de l'Actor : chaque Actor y participe dans son ensemble et n'est pas subdivisé jusqu'aux splats. Cela entraîne des limites inhérentes :

  • Quand les boîtes englobantes de deux LCC Actors se croisent ou s'interpénètrent dans l'espace, aucun ordre global unique ne peut exprimer la bonne relation avant/arrière, et l'occlusion dans la zone de croisement est erronée
  • Quand un seul Actor couvre en interne une grande plage de profondeur, le tri par distance au centre de l'Actor peut ne pas correspondre à la relation avant/arrière réelle

Passez à la pipeline LCC2 quand plusieurs jeux de données 3DGS doivent s'occulter correctement. Désactivez cette option quand l'ordre de recouvrement doit être défini manuellement, et réglez TranslucentSortPriority sur chaque Actor à la place.

La pipeline LCC2 ne propose pas cette propriété : ses données sont fusionnées dans un seul Buffer, triées globalement par splat, et produisent une profondeur qui participe aux tests d'occlusion ; aucune intervention n'est donc nécessaire.

Précédent
Rastérisation Tiled (expérimental)
Suivant
Normales et éclairage