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

ALCCSectionPlane : plan de coupe 3DGS

Actor de plan de coupe, qui ouvre la scène LCC à l'aide d'un plan et n'en conserve qu'un côté.

ModuleLCC4UnrealRuntime
En-têteTools/LCCSectionPlane.h
Classe parenteAVolume
Nom affiché dans le panneauLCC Section Plane
#include "Tools/LCCSectionPlane.h"

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

Dans l'éditeur, un Component de flèche indique l'orientation du plan : le côté vers lequel pointe la flèche est le côté Upside.

Propriétés

PropriétéTypeDescription
bEnabledboolParticipation à la coupe
ModeESectionTypeUpside retire ce qui est au-dessus du plan, Downside retire ce qui est en dessous

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. La signification des valeurs figure dans ESectionType.

Aucune des deux 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 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/LCCSectionPlane.h"
#include "LCCComponentBase.h"

ALCCSectionPlane* AMyTool::CreateSectionPlane(
    ULCCComponentBase* Component, const FVector& Location, const FRotator& Rotation)
{
    ALCCSectionPlane* Plane = GetWorld()->SpawnActor<ALCCSectionPlane>(
        ALCCSectionPlane::StaticClass(), Location, Rotation);
    if (!Plane)
    {
        return nullptr;
    }

    Plane->Mode = ESectionType::Upside;   // cut away what is above the plane
    Plane->bEnabled = true;

    Component->AddSectionPlane(Plane);

    return Plane;
}

Quelques configurations courantes :

EffetPosition et rotationMode
Voir l'intérieur d'un bâtiment vu de dessusHauteur choisie, FRotator::ZeroRotatorUpside
Coupe verticale pour voir une façadeFRotator(0, 0, 90) pour obtenir un plan verticalUpside
Ne conserver qu'un étage intermédiaireUn plan en bas et un plan en hautLimite basse Downside, limite haute Upside

Déplacer le plan de coupe suffit à produire une animation de dévoilement couche par couche, en modifiant directement la position à chaque image :

FVector Loc = SectionPlane->GetActorLocation();
Loc.Z = FMath::FInterpTo(Loc.Z, TargetHeight, DeltaTime, 1.0f);
SectionPlane->SetActorLocation(Loc);

Les propriétés se modifient également par affectation directe :

SectionPlane->bEnabled = false;

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

Remarques

  • La coupe n'affecte que le rendu, pas la collision. La partie retirée peut toujours être touchée par un rayon et continue de bloquer un personnage.
  • Upside et Downside s'entendent par rapport à l'orientation propre du plan. Après une rotation, vérifier de nouveau quel côté est le « haut » ; la flèche dans l'éditeur est le repère le plus direct.
  • À la construction, l'échelle sur l'axe Z est fixée à 0.01 (une lamelle) ; modifier l'échelle dans l'éditeur la ramène à cette valeur. À l'exécution, la modification d'échelle n'est pas soumise à cette contrainte, mais elle n'est généralement pas nécessaire.
  • Le nombre de plans de coupe actifs simultanément est limité, à 50 sans licence ; les plans en excès ne participent pas au rendu et un avertissement est émis. Les plans de coupe et les volumes de découpe partagent ce quota. Les précisions sur la licence figurent dans Éditions et licences.
  • Détruire un plan de coupe ne déclenche qu'une mise à jour du rendu et ne retire pas l'élément du tableau SectionPlanes du Component : un pointeur invalide subsiste dans le tableau (il est automatiquement ignoré lors du rendu). Pour garder le tableau propre, appeler RemoveSectionPlane avant la destruction.

Voir aussi

  • Édition de scène : mode d'emploi complet
  • ALCCClippingVolume : découper avec un volume borné
  • ULCCComponentBase : AddSectionPlane et RemoveSectionPlane
Précédent
ALCCClippingVolume
Suivant
ALCCLoadVolume