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
  • 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
      • 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
      • Riferimento API

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

        • 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

Fornire normali reali al 3DGS con una mesh proxy

Panoramica

ProxyMesh è una funzionalità dell'edizione Pro di LCC4Unreal. Fornisce informazioni reali di profondità e normali attraverso una mesh proxy posizionata nella scena ed è l'unica modalità normali con vero shading della forma. Si applica a ogni formato della pipeline LCC2 (.lcc2 / .sog / .spz / .ply). Per le licenze, vedere Edizioni e licenze.

Nota: ProxyMesh richiede una licenza valida. Senza licenza ripiega automaticamente sulla modalità Fixed.

Che cos'è una mesh proxy

I dati 3DGS non hanno normali di superficie proprie e non scrivono nulla nel GBuffer, quindi non possono partecipare ai calcoli di illuminazione normali. Il compito della mesh proxy è fornire una geometria la cui forma corrisponda al 3DGS. Il plugin ne prende profondità, normali e proprietà del materiale nel GBuffer e le passa all'illuminazione e alla post-elaborazione del motore; la mesh stessa non compare mai nell'immagine finale.

        Dati 3DGS                    Mesh proxy
   (colore, opacità)        (profondità, normali, proprietà del materiale)
           │                              │
           │                              ▼
           │                      Scritte nel GBuffer
           │                              │
           │              ┌───────────────┴───────────────┐
           │              ▼                               ▼
           │   Illuminazione del motore        Post-elaborazione che
           │  (direzionale, puntiforme,        dipende dal GBuffer
           │            ombre)              (riflessione, rifrazione, ecc.)
           │              │                               │
           │              └───────────────┬───────────────┘
           ▼                              ▼
     Sorgente del colore ─────────▶  Composizione dell'immagine finale
                                          │
                                          ▼
                            La mesh proxy stessa è invisibile

In altre parole: il colore nell'immagine viene dal 3DGS, e la risposta all'illuminazione viene dalla mesh proxy.

L'origine della mesh non è vincolata. Il plugin legge solo il suo risultato di rendering e non si cura di come sia stata prodotta. Origini comuni:

OrigineDescrizione
Mesh approssimata generata insieme al 3DGSMesh prodotta dal flusso di acquisizione; la corrispondenza di forma più stretta e la prima scelta
Mesh convertita dal 3DGSMesh ricostruita dal 3DGS con uno strumento di terze parti
Mesh creata a manoModellata sulla forma del 3DGS in un software DCC, adatta a scene che richiedono un controllo preciso
Assemblata da forme primitiveVolumi approssimati costruiti con Cube, Plane e altre mesh di base, adatti a forme regolari come edifici e terreno

L'unico requisito è che la mesh corrisponda spazialmente alla forma del 3DGS. Più stretta è la corrispondenza, più realistica è l'illuminazione. Quando lo scostamento è troppo grande, la direzione dell'illuminazione non corrisponde più alla forma visibile nell'immagine.

La mesh non richiede alta precisione: una geometria low-poly semplificata è sufficiente purché volumi e orientamento siano corretti.

Cosa fa il materiale

Le proprietà del materiale della mesh proxy vengono lette insieme al GBuffer, quindi decidono come la superficie del 3DGS risponde all'illuminazione.

Per la sola illuminazione di base è sufficiente un materiale whitebox, senza texture. Per gli effetti che dipendono dalle proprietà del materiale, usare il materiale PBR corrispondente nella posizione corrispondente sulla mesh, per esempio:

  • Riflessione e rifrazione dell'acqua: usare un materiale acqua con valori adeguati di metallicità e ruvidità nell'area dell'acqua
  • Riflessi metallici: assegnare valori di Metallic e Roughness adeguati alle strutture metalliche
  • Superfici ruvide: usare un valore alto di Roughness per sopprimere i riflessi che non devono comparire

Quando le proprietà del materiale non corrispondono alla forma reale, il risultato dell'illuminazione non corrisponde all'aspetto del 3DGS nell'immagine, per esempio riflessi speculari su un muro che dovrebbe essere ruvido.

Configurazione rapida

Passo 1: posizionare l'Actor ProxyMesh

  1. Aggiungere un Actor ALCC2ProxyMesh dal pannello del plugin LCC4Unreal nell'editor
  2. Assegnare una StaticMesh al suo StaticMeshComponent (di qualsiasi origine, vedere la sezione precedente)
  3. Regolare la posizione della ProxyMesh in modo che si sovrapponga spazialmente al contenuto 3DGS
Posizionamento di un Actor ALCC2ProxyMesh

Posizionamento di un Actor ALCC2ProxyMesh nella scena

Passo 2: abilitare la modalità ProxyMesh

  1. Selezionare l'Actor della pipeline LCC2 (ALCC2Actor / ASogActor / ASpzActor / APlyActor)
  2. Trovare LightMode nel pannello Details e cambiarlo in Lit
  3. Trovare la categoria Lighting di LCC2Component nel pannello Details
  4. Impostare NormalMode su ProxyMesh
Abilitazione di Lit e selezione della modalità normali ProxyMesh

Abilitazione di Lit e impostazione di NormalMode su ProxyMesh

Passo 3: verificare

  • Cambiare la direzione dell'illuminazione della scena e osservare se il 3DGS produce auto-ombreggiatura
  • Verificare che la mesh proxy sia nascosta nell'immagine finale
Risultato dell'illuminazione con normali reali tramite ProxyMesh

Risultato dell'illuminazione dopo che ProxyMesh fornisce normali reali

Esempio di uso di ProxyMesh

Dimostrazione della configurazione di ProxyMesh e del risultato dell'illuminazione

Il processo di configurazione di ProxyMesh e il risultato dell'illuminazione

ALCC2ProxyMesh

L'Actor proxy, abbinato agli Actor della pipeline LCC2 quando NormalMode = ProxyMesh.

Proprietà

ProprietàDescrizione
StaticMeshComponentLa mesh statica che fornisce profondità e normali della scena

Transform predefinita

  • Scale (100, 100, 100): l'unità della mesh è il metro per impostazione predefinita, mentre UE usa i centimetri
  • Rotation (0, 180, 0): compensa il fatto che la pipeline di generazione della mesh ha l'asse frontale opposto a quello di UE

Comportamento

  • Abilita automaticamente il rendering CustomDepth quando la StaticMesh è valida
  • Registra un avviso e disabilita CustomDepth quando la StaticMesh è vuota

Controllo della licenza

La modalità ProxyMesh richiede una licenza dell'edizione Pro, vedere Edizioni e licenze. Senza licenza ripiega automaticamente sulla modalità Fixed, e il valore memorizzato della proprietà non viene modificato.

Cambio a runtime

NormalMode può essere modificato a runtime da Blueprint o C++ e ha effetto dal fotogramma successivo.

Uso con Blueprint

Creare una ProxyMesh

SpawnActor->Class: ALCC2ProxyMesh
→ Set the StaticMesh of StaticMeshComponent
→ Adjust the position to align with the 3DGS content

Cambiare modalità

LCC2Component->NormalMode = ProxyMesh

Buone pratiche

  1. Copertura della mesh: assicurarsi che la mesh proxy copra la stessa area spaziale del contenuto 3DGS.
  2. Precisione della mesh: è sufficiente un'approssimazione semplificata della geometria della scena, non servono conteggi di poligoni elevati.
  3. Actor multipli: si possono posizionare più Actor ALCC2ProxyMesh per coprire aree differenti.
  4. Nessun collegamento esplicito: la ProxyMesh non deve essere associata a un Actor specifico, l'abbinamento avviene automaticamente.
  5. Compatibilità con il passato: i progetti che non usano ProxyMesh si comportano esattamente come prima dell'aggiornamento, senza costi aggiuntivi.

Risoluzione dei problemi

ProxyMesh non ha effetto

  • Verificare che NormalMode sia impostato su ProxyMesh
  • Verificare che la licenza sia valida
  • Assicurarsi che all'Actor ProxyMesh sia assegnata una StaticMesh valida
  • Verificare che la ProxyMesh si sovrapponga spazialmente al contenuto 3DGS

Avviso: «has a null StaticMesh»

Assegnare una StaticMesh all'Actor ALCC2ProxyMesh. L'avviso è limitato in frequenza e viene emesso una sola volta per istanza.

Colore del whitebox visibile nell'immagine finale

  • Assicurarsi che almeno un LCC2Component sia in modalità ProxyMesh
  • Regolare LCC2.ProxyMeshDepthEpsilon quando la corrispondenza di profondità è troppo rigida

Il risultato dell'illuminazione è scorretto

  • Verificare che le normali della mesh proxy siano un'approssimazione ragionevole della geometria reale della scena

Le ombre compaiono solo da vicino e vengono tagliate in lontananza

Un problema del motore. Selezionare l'Actor ProxyMesh, disattivare e riattivare Far Shadow sullo StaticMeshComponent per ripristinare le ombre complete.

Precedente
Integrazione con plugin di terze parti e del motore
Successivo
Animazione di caricamento