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

ALCCClippingVolume : volume de découpe 3DGS

Actor de volume de découpe, qui retire une partie de la scène LCC à l'aide d'un volume en boîte ou en sphère.

ModuleLCC4UnrealRuntime
En-têteTools/LCCClippingVolume.h
Classe parenteAVolume
Nom affiché dans le panneauLCC Clipping Volume
#include "Tools/LCCClippingVolume.h"

Les étapes d'utilisation, la démonstration et la description du panneau de propriétés figurent dans Édition de scène - Volumes de découpe. Cette page ne liste que les interfaces.

Propriétés

PropriétéTypeDescription
bEnabledboolParticipation à la découpe
ModeEClipTypeInside retire l'intérieur du volume, Outside retire l'extérieur
VolumeTypeEClipVolumeTypeBox pour une boîte, Sphere pour une sphère

La signification des valeurs figure dans EClipType et EClipVolumeType.

Aucune des trois propriétés n'a de Setter, il suffit de les affecter directement. Une modification de propriété ou de transformation à l'exécution prend automatiquement effet à l'image suivante, sans avoir à notifier manuellement le côté rendu.

Méthodes

SetUpdateComponent / Refresh (obsolètes)

UFUNCTION(BlueprintCallable, Category = "XGrids", meta = (DeprecatedFunction))
void SetUpdateComponent(ULCCComponentBase* Component);

UFUNCTION(BlueprintCallable, Category = "XGrids", meta = (DeprecatedFunction))
void Refresh();

Les deux méthodes sont obsolètes et implémentées comme des opérations vides : les appeler n'a aucun effet et ne produit aucune erreur.

Les données de découpe sont désormais lues à chaque image, les modifications de propriétés et de transformation se reflètent donc automatiquement à l'écran à l'image suivante. L'ancien enchaînement, qui consistait à établir la liaison avec SetUpdateComponent puis à appeler Refresh() après chaque modification, n'est plus nécessaire.

Les appels présents dans le code existant peuvent simplement être supprimés. Dans Blueprint, ces deux nodes affichent un avertissement d'obsolescence ; le remplacement consiste à retirer le node.

Création à l'exécution

#include "Tools/LCCClippingVolume.h"
#include "LCCComponentBase.h"

ALCCClippingVolume* AMyTool::CreateBoxClip(
    ULCCComponentBase* Component, const FVector& Location, const FVector& Extent)
{
    ALCCClippingVolume* Volume = GetWorld()->SpawnActor<ALCCClippingVolume>(
        ALCCClippingVolume::StaticClass(), Location, FRotator::ZeroRotator);
    if (!Volume)
    {
        return nullptr;
    }

    Volume->VolumeType = EClipVolumeType::Box;
    Volume->Mode = EClipType::Inside;
    Volume->bEnabled = true;

    // the size of an AVolume is controlled through scaling
    Volume->SetActorScale3D(Extent / 100.0f);

    Component->AddClippingVolume(Volume);

    return Volume;
}

Pour activer et désactiver temporairement l'effet de découpe, ne pas ajouter ni retirer d'éléments du tableau ; modifier bEnabled est plus léger :

for (ALCCClippingVolume* Volume : MyVolumes)
{
    if (Volume)
    {
        Volume->bEnabled = bEnable;
    }
}

Pour animer un volume de découpe en le déplaçant à l'exécution, il suffit de modifier la transformation :

// sweep the clipping volume across the scene
FVector Loc = ClipVolume->GetActorLocation();
Loc.X += 200.0f * DeltaTime;
ClipVolume->SetActorLocation(Loc);

Les nodes Blueprint figurent dans Édition de scène - Méthodes Blueprint.

Remarques

  • La découpe n'affecte que le rendu, pas la collision. Une zone retirée peut toujours être touchée par un rayon et continue de bloquer un personnage.
  • Lorsque plusieurs volumes de découpe agissent en même temps, chacun est évalué indépendamment et les effets se cumulent. Mélanger Inside et Outside produit facilement des résultats inattendus.
  • Le nombre de volumes de découpe actifs simultanément est limité, à 50 sans licence ; les volumes en excès ne participent pas au rendu et un avertissement est émis. Les volumes de découpe et les plans de coupe partagent ce quota. Les précisions sur la licence figurent dans Éditions et licences.
  • Détruire un volume de découpe ne déclenche qu'une mise à jour du rendu et ne retire pas l'élément du tableau ClippingVolumes du Component : un pointeur invalide subsiste dans le tableau (il est automatiquement ignoré lors du rendu). Pour garder le tableau propre, appeler RemoveClippingVolume avant la destruction.

Voir aussi

  • Édition de scène : mode d'emploi complet
  • ALCCSectionPlane : couper avec un plan
  • ULCCComponentBase : AddClippingVolume et RemoveClippingVolume
Précédent
ALCC2ProxyMesh
Suivant
ALCCSectionPlane