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

    • Produktübersicht
    • Grundlegende Bedienung
    • LCC Scan App verwenden
    • Wartung und Pflege
    • FAQ
  • Lixel K-Serie

    • Lixel K1

      • Produktübersicht
      • Grundlegende Bedienung
      • Geräteaktivierung und -verbindung
      • Scan-Workflow
      • Punktwolke mit absoluten Koordinaten erfassen
      • Kartenfusion
      • Empfehlungen zur Routenplanung für typische Szenen
      • Hinweise
      • FAQ
    • Lixel K2

      • Produktübersicht
      • Grundlegende Bedienung
      • Aktivierung und Verbindung
      • Scan-Workflow
      • Punktwolke mit absoluten Koordinaten erfassen
      • Kartenfusion
      • Empfehlungen zur Routenplanung für typische Szenen
      • Hinweise
      • FAQ
  • Lixel L-Serie

    • Lixel L2 Pro

      • Produktübersicht
      • Grundlegende Bedienung
      • Geräteaktivierung und -verbindung
      • Scan-Workflow
      • Punktwolke mit absoluten Koordinaten erfassen
      • Messpunkt
      • Anhang
      • FAQ
  • Lixel Studio

    • Version und Copyright
    • Installation und Aktivierung
    • Softwareoberfläche
    • Dateioperationen
    • Projektverarbeitung
    • Werkzeuge
    • 2D-Zeichnung
    • Anwendungen
    • Einstellungen
    • Geräteverbindung
  • Lixel CyberColor

    • LCC Studio

      • Erste Schritte
      • Version und Updates
      • Download und Installation
      • Oberfläche und Navigation
      • Vor der Rekonstruktion
      • Modellrekonstruktion
      • Einzelmodell-Rekonstruktion
      • Kartenfusion
      • Boden-Luft-Fusion
      • Luftbild-Rekonstruktion
      • Meine Modelle
      • Weitere Funktionen
      • Einstellungen und Konto
      • Converter
      • Videorekonstruktion
      • Häufige Fragen / FAQ
    • LCC Scene Editor

      • Version und Updates
      • Konto und Anmeldung
      • Produktübersicht und Startseite
      • Editor-Oberfläche
      • Navigationsmodi
      • Datei
      • Einstellungen
      • Bearbeiten
      • Fenster
      • Globale Symbolleiste
      • Assets und Eigenschaften
      • Linke Symbolleiste
      • Ansichtspunkte
      • Portal
      • Skybox
      • Markierungen
      • Messung
      • Flythrough
      • Szenenbericht
      • 3D-Layout
      • Minikarte
      • Vorschaumodus (Viewer)
      • Hilfe
      • Häufige Fragen (FAQ)
      • Spawn-Point
    • LCC Model Editor

      • Version und Updates
      • Benutzerhandbuch
      • Übersicht und Oberfläche
      • Dateioperationen
      • Selektoren
      • Modelle bearbeiten
      • Messung
      • Farbkorrektur
      • Asset-Verwaltung
      • Einstellungen und Hilfe
      • Häufige Fragen
    • Capture Guide

      • Überblick
      • Überblick über die Aufnahmegeräte
      • Allgemeine Aufnahmeprinzipien
      • Aufnahme von Innenszenen
      • Aufnahme von Außenszenen
      • Großflächige Aufnahme (Map Fusion)
      • Aerial-Ground Map Fusion – Aufnahme
      • Objektaufnahme
      • Personenaufnahme
      • Video-Rekonstruktionsaufnahme
      • HD Enhancement
      • Kontrollpunkte (Lixel P1)
      • FAQ und Fehlerbehebung
    • Versionsgeschichte
  • Plugin & SDK

    • Unreal

      • Einführung
      • Schnellstart - Windows
      • Schnellstart - Linux
      • Schnellstart - Quest3
      • Editionen und Lizenzierung
      • Rendering
      • Bildeinstellungen
      • Normalen und Beleuchtung
      • Szenenbearbeitung
      • Leistungsparameter
      • Leitfaden zur Leistung
      • Integration von Drittanbieter- und Engine-Plugins
      • Proxy Mesh
      • Ladeanimation
      • Kollision
      • Unterstützung des Navigation System
      • Unterstützung von Single Layer Water
      • Lokalisierung
      • FAQ
      • Fehlerbehebung
      • Logs und Diagnose
      • Kontakt
      • API-Referenz

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • SOG- / SPZ- / PLY-Actors
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ULCCUtilLibrary
        • Enums
        • Structs
      • Änderungsprotokoll

        • 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

Echte Normalen für 3DGS mit einem Proxy Mesh liefern

Überblick

ProxyMesh ist eine Funktion der Pro Edition von LCC4Unreal. Es liefert über ein platziertes Proxy Mesh echte Tiefen- und Normaleninformationen und ist der einzige Normalenmodus mit echter Formmodellierung. Es gilt für jedes Format der LCC2-Pipeline (.lcc2 / .sog / .spz / .ply). Zur Lizenzierung siehe Editionen und Lizenzierung.

Hinweis: ProxyMesh erfordert eine gültige Lizenz. Ohne Lizenz fällt es automatisch auf den Modus Fixed zurück.

Was ein Proxy Mesh ist

3DGS-Daten haben keine eigenen Oberflächennormalen und schreiben nichts in den GBuffer, sie können daher nicht an regulären Lichtberechnungen teilnehmen. Aufgabe des Proxy Mesh ist es, Geometrie zu liefern, deren Form zum 3DGS passt. Das Plugin entnimmt ihr Tiefe, Normalen und die Materialeigenschaften im GBuffer und übergibt sie an die Beleuchtung und Nachbearbeitung der Engine; das Mesh selbst erscheint nie im Endbild.

        3DGS-Daten                   Proxy Mesh
   (Farbe, Deckkraft)      (Tiefe, Normalen, Materialeigenschaften)
           │                              │
           │                              ▼
           │                     In den GBuffer geschrieben
           │                              │
           │              ┌───────────────┴───────────────┐
           │              ▼                               ▼
           │     Beleuchtung der Engine          Nachbearbeitung, die vom
           │  (Directional, Point, Schatten)     GBuffer abhängt
           │              │                  (Reflexion, Refraktion usw.)
           │              └───────────────┬───────────────┘
           ▼                              ▼
       Farbquelle ─────────────────▶  Endbild zusammensetzen
                                          │
                                          ▼
                              Das Proxy Mesh selbst ist unsichtbar

Anders gesagt: Die Farbe im Bild kommt vom 3DGS, die Lichtreaktion vom Proxy Mesh.

Die Herkunft des Mesh ist nicht eingeschränkt. Das Plugin liest nur dessen Rendering-Ergebnis und interessiert sich nicht dafür, wie es entstanden ist. Häufige Quellen:

QuelleBeschreibung
Zusammen mit dem 3DGS erzeugtes Näherungs-MeshVom Aufnahme-Workflow ausgegebenes Mesh; passt der Form am nächsten und ist die erste Wahl
Aus dem 3DGS konvertiertes MeshMit einem Drittanbieter-Werkzeug aus dem 3DGS rekonstruiertes Mesh
Manuell erstelltes MeshIn einer DCC-Software nach der 3DGS-Form modelliert, geeignet für Szenen, die präzise Kontrolle brauchen
Aus einfachen Primitiven zusammengesetztGrobe Volumen aus Cube, Plane und weiteren einfachen Meshes, geeignet für regelmäßige Formen wie Gebäude und Boden

Die einzige Anforderung ist, dass das Mesh der 3DGS-Form im Raum entspricht. Je genauer die Übereinstimmung, desto realistischer die Beleuchtung. Ist die Abweichung zu groß, passt die Lichtrichtung nicht mehr zur im Bild sichtbaren Form.

Das Mesh braucht keine hohe Genauigkeit: vereinfachte Low-Poly-Geometrie genügt, solange Volumen und Ausrichtung korrekt sind.

Was das Material bewirkt

Die Materialeigenschaften des Proxy Mesh werden mit dem GBuffer gelesen, sie entscheiden also, wie die 3DGS-Oberfläche auf Licht reagiert.

Für rein grundlegende Beleuchtung genügt ein Whitebox-Material, Texturen sind nicht nötig. Für Effekte, die von Materialeigenschaften abhängen, an der entsprechenden Stelle des Mesh das passende PBR-Material verwenden, zum Beispiel:

  • Reflexion und Refraktion von Wasser: am Wasserbereich ein Wassermaterial mit passenden Werten für Metallic und Roughness verwenden
  • Metallische Glanzlichter: an metallischen Strukturen passende Werte für Metallic und Roughness setzen
  • Raue Oberflächen: hohe Roughness verwenden, um Glanzlichter zu unterdrücken, die nicht auftreten sollten

Passen die Materialeigenschaften nicht zur tatsächlichen Form, passt das Beleuchtungsergebnis nicht zum 3DGS-Erscheinungsbild im Bild, etwa Glanzlichter auf einer Wand, die rau sein sollte.

Schnelle Einrichtung

Schritt 1: Den ProxyMesh-Actor platzieren

  1. Im Editor über das Panel des LCC4Unreal-Plugins einen ALCC2ProxyMesh-Actor hinzufügen
  2. Seiner StaticMeshComponent ein StaticMesh zuweisen (beliebige Quelle, siehe Abschnitt oben)
  3. Die Position des ProxyMesh so anpassen, dass es sich im Raum mit dem 3DGS-Inhalt überlagert
Einen ALCC2ProxyMesh-Actor platzieren

Einen ALCC2ProxyMesh-Actor in der Szene platzieren

Schritt 2: Den ProxyMesh-Modus aktivieren

  1. Den Actor der LCC2-Pipeline auswählen (ALCC2Actor / ASogActor / ASpzActor / APlyActor)
  2. LightMode im Details-Panel suchen und auf Lit ändern
  3. Im Details-Panel die Kategorie Lighting von LCC2Component suchen
  4. NormalMode auf ProxyMesh setzen
Lit aktivieren und den Normalenmodus ProxyMesh auswählen

Lit aktivieren und NormalMode auf ProxyMesh setzen

Schritt 3: Prüfen

  • Die Lichtrichtung der Szene ändern und beobachten, ob das 3DGS Eigenverschattung erzeugt
  • Prüfen, ob das Proxy Mesh im Endbild verborgen ist
Beleuchtungsergebnis mit echten Normalen durch ProxyMesh

Beleuchtungsergebnis, nachdem ProxyMesh echte Normalen liefert

Beispiel für die Verwendung von ProxyMesh

Vorführung der ProxyMesh-Einrichtung und des Beleuchtungsergebnisses

Der Einrichtungsvorgang von ProxyMesh und das Beleuchtungsergebnis

ALCC2ProxyMesh

Der Proxy-Actor, der bei NormalMode = ProxyMesh mit den Actors der LCC2-Pipeline zusammenarbeitet.

Eigenschaften

EigenschaftBeschreibung
StaticMeshComponentDas Static Mesh, das Tiefe und Normalen der Szene liefert

Standard-Transform

  • Scale (100, 100, 100): Die Mesh-Einheit ist standardmäßig Meter, während UE Zentimeter verwendet
  • Rotation (0, 180, 0): Kompensiert, dass die Mesh-Erzeugungs-Pipeline die entgegengesetzte Vorwärtsachse zu UE hat

Verhalten

  • Aktiviert das CustomDepth-Rendering automatisch, wenn das StaticMesh gültig ist
  • Protokolliert eine Warnung und deaktiviert CustomDepth, wenn das StaticMesh leer ist

Lizenzprüfung

Der ProxyMesh-Modus erfordert eine Lizenz der Pro Edition, siehe Editionen und Lizenzierung. Ohne Lizenz fällt er automatisch auf den Modus Fixed zurück, und der gespeicherte Eigenschaftswert wird nicht verändert.

Umschalten zur Laufzeit

NormalMode kann zur Laufzeit aus Blueprint oder C++ geändert werden und wird im nächsten Bild wirksam.

Verwendung in Blueprint

Ein ProxyMesh erzeugen

SpawnActor->Class: ALCC2ProxyMesh
→ Das StaticMesh der StaticMeshComponent setzen
→ Die Position an den 3DGS-Inhalt ausrichten

Modi umschalten

LCC2Component->NormalMode = ProxyMesh

Bewährte Vorgehensweisen

  1. Mesh-Abdeckung: sicherstellen, dass das Proxy Mesh denselben räumlichen Bereich abdeckt wie der 3DGS-Inhalt.
  2. Mesh-Genauigkeit: eine vereinfachte Annäherung an die Szenengeometrie genügt, hohe Polygonzahlen sind nicht nötig.
  3. Mehrere Actors: Es können mehrere ALCC2ProxyMesh-Actors platziert werden, um verschiedene Bereiche abzudecken.
  4. Keine explizite Bindung: Das ProxyMesh muss nicht mit einem bestimmten Actor verknüpft werden, die Zuordnung erfolgt automatisch.
  5. Rückwärtskompatibilität: Projekte, die ProxyMesh nicht verwenden, verhalten sich genau wie vor dem Upgrade, ohne zusätzlichen Aufwand.

Fehlerbehebung

ProxyMesh hat keine Wirkung

  • Prüfen, ob NormalMode auf ProxyMesh gesetzt ist
  • Prüfen, ob die Lizenz gültig ist
  • Sicherstellen, dass dem ProxyMesh-Actor ein gültiges StaticMesh zugewiesen ist
  • Prüfen, ob sich das ProxyMesh im Raum mit dem 3DGS-Inhalt überlagert

Warnung: „has a null StaticMesh“

Dem ALCC2ProxyMesh-Actor ein StaticMesh zuweisen. Die Warnung wird gedrosselt und nur einmal pro Instanz ausgegeben.

Whitebox-Farbe im Endbild sichtbar

  • Sicherstellen, dass mindestens eine LCC2Component im ProxyMesh-Modus ist
  • LCC2.ProxyMeshDepthEpsilon anpassen, wenn die Tiefenzuordnung zu streng ist

Beleuchtungsergebnis ist falsch

  • Prüfen, ob die Normalen des Proxy Mesh eine sinnvolle Annäherung an die tatsächliche Szenengeometrie sind

Schatten erscheinen nur in der Nähe und brechen in der Ferne ab

Ein Problem der Engine. Den ProxyMesh-Actor auswählen und Far Shadow an der StaticMeshComponent aus- und wieder einschalten, um vollständige Schatten wiederherzustellen.

Zurück
Integration von Drittanbieter- und Engine-Plugins
Weiter
Ladeanimation