XGRIDSDocumentazione
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • PortalCam

    • Panoramica del prodotto
    • Operazioni di base
    • Uso della LCC Scan App
    • Manutenzione e cura
    • FAQ
  • Serie Lixel K

    • Lixel K1

      • Panoramica del prodotto
      • Operazioni di base
      • Attivazione e connessione del dispositivo
      • Flusso di scansione
      • Ottenere una nuvola di punti con coordinate assolute
      • Fusione delle mappe
      • Consigli di pianificazione dei percorsi per scene tipiche
      • Precauzioni
      • FAQ
    • Lixel K2

      • Panoramica del prodotto
      • Operazioni di base
      • Attivazione e connessione
      • Flusso di scansione
      • Acquisire una nuvola di punti con coordinate assolute
      • Fusione mappe
      • Consigli di pianificazione dei percorsi per scene tipiche
      • Precauzioni
      • FAQ
  • Serie Lixel L

    • Lixel L2 Pro

      • Panoramica del prodotto
      • Operazioni di base
      • Attivazione e connessione del dispositivo
      • Flusso di scansione
      • Ottenere una nuvola di punti con coordinate assolute
      • Punto di misura
      • Appendice
      • FAQ
  • Accessori

    • Stick Light

      • Guida all'installazione
      • Operazioni di base
      • Domande frequenti
  • Lixel Studio

    • Versione e copyright
    • Installazione e attivazione
    • Interfaccia del software
    • Operazioni sui file
    • Elaborazione del progetto
    • Strumenti
    • Disegno 2D
    • Applicazioni
    • Impostazioni
    • Connessione del dispositivo
  • Lixel CyberColor

    • LCC Studio

      • Introduzione
      • Versione e aggiornamenti
      • Download e installazione
      • Panoramica dell'interfaccia e navigazione
      • Operazioni preliminari alla ricostruzione
      • Prima della ricostruzione
      • Ricostruzione del modello
      • Ricostruzione modello singolo
      • Fusione delle mappe
      • Fusione aria-terra
      • Ricostruzione aerea
      • I miei modelli
      • Altre funzioni
      • Impostazioni e account
      • Convertitore
      • Ricostruzione video
      • Domande Frequenti / FAQ
    • LCC Scene Editor

      • Versione e aggiornamenti
      • Account e accesso
      • Panoramica del prodotto e home page
      • Interfaccia dell'editor
      • Modalità di navigazione
      • File
      • Impostazioni
      • Modifica
      • Finestra
      • Barra degli strumenti globale
      • Asset e proprietà
      • Barra degli strumenti sinistra
      • Punti di vista
      • Portale
      • Skybox
      • Annotazioni
      • Misurazione
      • Flythrough
      • Rapporto scena
      • 3D Layout
      • Mini-mappa
      • Modalità Anteprima (Viewer)
      • Aiuto
      • Domande frequenti (FAQ)
      • Punto di spawn
    • LCC Model Editor

      • Versione e aggiornamenti
      • Guida utente
      • Panoramica e interfaccia
      • Operazioni sui file
      • Selettori
      • Modifica dei modelli
      • Misurazione
      • Correzione colore
      • Gestione degli asset
      • Impostazioni e Aiuto
      • Domande frequenti
    • Capture Guide

      • Panoramica
      • Panoramica dei dispositivi di acquisizione
      • Principi generali di acquisizione
      • Acquisizione di scene interne
      • Acquisizione di scene esterne
      • Acquisizione su larga scala (map fusion)
      • Acquisizione per aerial-ground map fusion
      • Acquisizione di oggetti
      • Acquisizione di persone
      • Acquisizione per ricostruzione da video
      • HD Enhancement
      • Control points (Lixel P1)
      • FAQ e risoluzione dei problemi
    • Cronologia versioni
  • Plugin e SDK

    • Unreal

      • Introduzione
      • Avvio rapido - Windows
      • Avvio rapido - Linux
      • Avvio rapido - Quest3
      • Edizioni e licenze
      • Rendering
      • Rasterizzazione Tiled (sperimentale)
      • Impostazioni visive
      • Normali e illuminazione
      • Modifica della scena
      • Parametri di prestazione
      • Guida alle prestazioni
      • Integrazione con plugin di terze parti e del motore
      • Proxy Mesh
      • Animazione di caricamento
      • Collisioni
      • Supporto del Navigation System
      • Supporto di Single Layer Water
      • Localizzazione
      • FAQ
      • Risoluzione dei problemi
      • Log e diagnostica
      • Contattaci
      • Buone pratiche

        • Rilluminare il 3DGS con una mesh di LixelStudio
      • Riferimento API

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • Actor SOG / SPZ / PLY
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ALCCLoadVolume
        • ULCCUtilLibrary
        • Enum
        • Struct
      • Registro delle modifiche

        • 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
    • Web

      • Introduzione
      • Guida all'ottimizzazione delle prestazioni di rendering
      • Configurazione grafica
      • Domande frequenti
      • Riferimento API

        • LCCRender::clearIndexDB
        • LCCRender::dispose
        • LCCRender::load
        • LCCRender::setCamera
        • LCCRender::unload
        • LCCRender::update
        • LCCObject::checkRenderNextFrame
        • LCCObject::clearRenderNextFrame
        • LCCObject::ecef2Prj
        • LCCObject::getBounds
        • LCCObject::getEnvInstancedMesh
        • LCCObject::getInstancedMesh
        • LCCObject::getLodInfos
        • LCCObject::getOriginPosition
        • LCCObject::getProjectionCoordinateSystemInfos
        • LCCObject::hasCollision
        • LCCObject::hasEnvironment
        • LCCObject::hasShcoef
        • LCCObject::intersectsCapsule
        • LCCObject::intersectsRayExt
        • LCCObject::intersectsRayFromOriginExt
        • LCCObject::intersectsSphere
        • LCCObject::lowerToBottom
        • LCCObject::prj2Ecef
        • LCCObject::raiseToTop
        • LCCObject::raycast
        • LCCObject::raycastFromOrigin
        • LCCObject::setAlpha
        • LCCObject::setClipBox
        • LCCObject::setClipPlane
        • LCCObject::setEndLod
        • LCCObject::setLodAutoLevelUp
        • LCCObject::setMaxDistance
        • LCCObject::setMaxNodeSplats
        • LCCObject::setMaxSplats
        • LCCObject::setOriginPosition
        • LCCObject::setPointsColor
        • LCCObject::setRenderState
        • LCCObject::setRotation
        • LCCObject::setScale
        • LCCObject::setSemantic
        • LCCObject::setSemanticColor
        • LCCObject::setSmooth
        • LCCObject::setStartLod
        • LCCObject::setTranslation
        • LCCObject::setVisible
        • LCCObject::togglePointsDisplayMode
        • LCCObject::useEnvironment
        • LCCObject::useShcoef
      • Registro delle modifiche

        • v0.6.3
        • v0.6.2
        • v0.6.1
        • v0.6.0
        • v0.5.5
        • v0.5.4
        • v0.5.3
        • v0.5.2
        • v0.5.1
        • v0.5.0
        • v0.4.1
        • v0.4.0
        • v0.3.1
        • v0.3.0
        • v0.2.0

ALCCLoadVolume: volume di caricamento

Deriva da AVolume e nel pannello è mostrato come LCC Load Volume.

La differenza fondamentale rispetto a un volume di taglio o a un piano di sezione è la fase in cui agisce: taglio e sezionamento cambiano solo il risultato finale del rendering, mentre i dati vengono comunque caricati e caricati in memoria video; un volume di caricamento agisce durante l'attraversamento dei nodi e i nodi scartati non vengono letti affatto. È quindi l'unico dei tre che riduce la quantità di caricamento e l'uso di memoria video.

HeaderTools/LCCLoadVolume.h
Classe baseAVolume
BlueprintBlueprintable / BlueprintType
LicenzaFunzionalità dell'edizione Pro; senza licenza non ha effetto

Un solo volume di caricamento può agire contemporaneamente su più Actor LCC nella scena.

Properties

ProprietàTipoDescrizione
bEnabledboolSe è abilitato
ModeELoadRegionInside (carica solo ciò che è interno) oppure Outside (esclude ciò che è interno)
VolumeTypeELoadVolumeTypeBox (box) oppure Sphere (sfera)

Per il significato dei valori vedere ELoadRegion e ELoadVolumeType.

Nessuna delle tre proprietà ha un setter: si assegnano direttamente. Il filtro agisce al momento del caricamento, quindi dopo una modifica i dati vanno ricaricati.

Precisione del bordo

Il test lavora per nodo e non per splat, quindi il bordo è più grossolano di quello di un volume di taglio: un nodo al bordo viene scartato per intero appena non soddisfa la condizione.

Le due modalità usano test diversi:

ModalitàCondizioneComportamento al bordo
InsideUn nodo viene caricato solo se ricade interamente nel volumeL'intervallo conservato è un po' più piccolo del volume
OutsideUn nodo viene escluso appena si sovrappone al volumeL'intervallo escluso è un po' più grande del volume

Entrambi i lati sono volutamente conservativi per mantenere stabile il cambio di LOD. In un octree i bound di un nodo figlio si trovano sempre all'interno di quelli del padre, e il LOD passa dal figlio al padre quando la telecamera si allontana. Se Inside usasse un test di intersezione, il padre verrebbe caricato perché si sovrappone parzialmente, riportando regioni che i figli avevano già escluso: visivamente, un blocco di contenuto che compare all'improvviso allontanandosi. Outside avrebbe il problema simmetrico con un test di contenimento.

Quando serve un bordo preciso, sovrapporre un volume di taglio con la stessa trasformazione: il volume di caricamento riduce la quantità di caricamento e quello di taglio rifinisce il bordo.

Creazione a runtime

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);   // va configurato prima del caricamento

L'ordine è importante: il filtro avviene durante il caricamento, quindi aggiungere o rimuovere un volume di caricamento o cambiare una proprietà dopo Load() non modifica i dati già caricati; serve ricaricare.

// Ricaricare dopo aver cambiato l'intervallo filtrato
Volume->SetActorLocation(NewLocation);
Component->Refresh();   // internamente UnLoad e poi Load

Refresh() costa quanto un ricaricamento completo, vedere ALCCActorBase::Refresh.

Scelta tra questo e un volume di taglio

EsigenzaQuale usare
Prendere una piccola parte di una scena grande risparmiando memoria video e tempo di caricamentoVolume di caricamento
Aprire fori o tagliare un guscio, dove conta un bordo precisoVolume di taglio
Risparmiare memoria video e avere anche un bordo precisoSovrapporre entrambi con la stessa trasformazione
Alternare l'effetto frequentemente a runtimeVolume di taglio (cambiare bEnabled ha effetto dal frame successivo, senza ricaricare)

See Also

  • ALCCClippingVolume: volume di taglio
  • ALCCSectionPlane: piano di sezione
  • AddLoadVolume: le interfacce di aggiunta e rimozione lato Component
  • Modifica della scena - Volumi di caricamento: procedura e immagini
  • Edizioni e licenze: ambito della licenza
Precedente
ALCCSectionPlane
Successivo
ULCCUtilLibrary