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

ALCCLoadVolume : volume de chargement

Hérite de AVolume, affiché dans le panneau sous le nom LCC Load Volume.

La différence essentielle avec un volume de découpe ou un plan de coupe tient à l'étape à laquelle il agit : la découpe et la coupe ne modifient que le résultat final du rendu, les données étant chargées et envoyées en mémoire vidéo comme d'habitude ; le volume de chargement agit pendant le traversal des nœuds, et les nœuds rejetés ne sont jamais lus. C'est donc le seul des trois qui réduise le volume chargé et l'occupation de la mémoire vidéo.

En-têteTools/LCCLoadVolume.h
Classe de baseAVolume
BlueprintBlueprintable / BlueprintType
LicenceFonctionnalité de l'édition Pro, sans effet sans licence

Un même volume de chargement peut agir simultanément sur plusieurs LCC Actors de la scène.

Propriétés

PropriétéTypeDescription
bEnabledboolActivation
ModeELoadRegionInside (ne charger que l'intérieur) ou Outside (exclure l'intérieur)
VolumeTypeELoadVolumeTypeBox (boîte) ou Sphere (sphère)

La signification des valeurs figure dans ELoadRegion et ELoadVolumeType.

Aucune des trois propriétés n'a de Setter, il suffit de les affecter directement. Le filtrage s'applique au moment du chargement, une modification impose donc de recharger les données.

Précision de la bordure

Le test se fait par nœud et non par splat, la bordure est donc plus grossière que celle d'un volume de découpe : un nœud proche du bord est entièrement écarté dès qu'il ne satisfait pas la condition.

Les deux modes utilisent des tests différents :

ModeConditionComportement de la bordure
InsideUn nœud n'est chargé que s'il se situe entièrement dans le volumeL'étendue réellement conservée est légèrement plus petite que le volume
OutsideUn nœud est exclu dès qu'il chevauche le volumeL'étendue réellement exclue est légèrement plus grande que le volume

Les deux côtés sont volontairement conservateurs, afin de garantir la stabilité lors des changements de LOD. Dans un octree, la boîte englobante d'un nœud enfant se trouve toujours à l'intérieur de celle de son parent, et le LOD passe de l'enfant au parent lorsque la caméra s'éloigne. Si Inside utilisait un test d'intersection, le nœud parent serait chargé du fait d'un chevauchement partiel, ramenant des zones que les enfants avaient déjà exclues : visuellement, un bloc de contenu apparaîtrait brusquement en s'éloignant. Avec un test d'inclusion, Outside présenterait le problème symétrique.

Quand une bordure précise est nécessaire, superposer un volume de découpe sur la même transformation : le volume de chargement réduit le volume chargé et le volume de découpe affine le bord.

Création à l'exécution

ALCCLoadVolume* Volume = GetWorld()->SpawnActor<ALCCLoadVolume>(
    ALCCLoadVolume::StaticClass(), Location, FRotator::ZeroRotator);

Volume->VolumeType = ELoadVolumeType::Box;
Volume->Mode = ELoadRegion::Inside;
Volume->bEnabled = true;
Volume->SetActorScale3D(FVector(20.0f, 20.0f, 10.0f));

Component->AddLoadVolume(Volume);
Component->Load(Path);   // must be configured before loading

L'ordre est important : le filtrage a lieu pendant le chargement, donc ajouter ou retirer un volume de chargement ou modifier une propriété après Load() ne change rien aux données déjà chargées ; un rechargement est nécessaire.

// Reload after changing the filtered range
Volume->SetActorLocation(NewLocation);
Component->Refresh();   // internally UnLoad then Load

Refresh() coûte autant qu'un rechargement complet, voir ALCCActorBase::Refresh.

Choisir entre ce volume et un volume de découpe

BesoinLequel utiliser
Extraire une petite partie d'une grande scène en économisant la mémoire vidéo et le temps de chargementVolume de chargement
Percer des ouvertures, ouvrir une enveloppe, avec une bordure préciseVolume de découpe
Économiser la mémoire vidéo et obtenir une bordure préciseSuperposer les deux, avec la même transformation
Activer et désactiver fréquemment l'effet à l'exécutionVolume de découpe (modifier bEnabled prend effet à l'image suivante, sans rechargement)

Voir aussi

  • ALCCClippingVolume : volume de découpe
  • ALCCSectionPlane : plan de coupe
  • AddLoadVolume : les méthodes d'ajout et de retrait côté Component
  • Édition de scène - Volumes de chargement : étapes d'utilisation et illustrations
  • Éditions et licences : périmètre de la licence