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

Häufige Fehler bei UE5-3DGS nach Symptom eingrenzen

Diese Seite ist nach dem Symptom gegliedert, das zu sehen ist, und jeder Eintrag nennt die möglichen Ursachen, wie sie zu bestätigen sind und wie sie zu beheben sind.

Zum Ansehen von Logs und zur Nutzung der Debug-Werkzeuge siehe Logs und Diagnose. Für Beratungsfragen (welche Formate unterstützt werden, der Unterschied zwischen den beiden Pipelines) siehe FAQ.

Inhalt

KategorieBehandelte Symptome
Diese zwei Dinge zuerst tunBei jedem Problem empfohlen
Fehler beim Laden der DatenNach Load passiert nichts, nach der Paketierung unsichtbar, Paketierung eines Blueprint-Projekts, falsche GIS-Position, Absturz bei sehr großen Daten
Nichts oder nur Teile dargestelltÜberhaupt nichts sichtbar, ferner Inhalt fehlt, Löcher am Rand, leeres SceneCapture, von Wasser verdeckt
Probleme mit der BildqualitätGhosting, Flackern, Löcher, graue Farben, Nähte, eine Linie durch die Szene
Probleme mit der BeleuchtungÜberbelichtung, keine Formschattierung, ProxyMesh ohne Wirkung, abgeschnittene Schatten, verborgene Effekte
Änderungen von Parametern haben keine WirkungKontrollkästchen nicht angehakt, vollständiges Laden, Beschneiden und Schneiden, Kugelflächenfunktionen, Lizenzkontingent
Probleme mit der LeistungNiedrige Bildrate, hoher Grafikspeicherbedarf, Ruckeln beim Laden, falsche Occlusion
Kollision und NavigationLine Traces treffen nicht, Charakter fällt oder rutscht durch, NavMesh wird nicht erzeugt
AbstürzeAssertion-Fehler ArraySliceIndex
Probleme mit der LizenzierungStatus ist kein grünes Häkchen, verschiedene Lizenzfehler
Build und PaketierungFehlende Binaries, fehlendes Precompiled Manifest, Fehler bei der Paketierung, Android
Weiterhin nicht gelöstWas vor einer Problemmeldung zusammenzustellen ist

Diese zwei Dinge zuerst tun

Die meisten Probleme lassen sich innerhalb dieser zwei Schritte eingrenzen, daher bei jedem Symptom zuerst durchlaufen.

  1. Das Output Log öffnen und das Plugin-Log lesen. Fehler beim Laden, falsche Pfade und Probleme mit der Lizenzierung hinterlassen dort alle klare Informationen. Siehe Das Plugin-Log ansehen.
  2. Bestätigen, dass die Daten erfolgreich geladen wurden. Den Actor auswählen und prüfen, ob MetaInfo im Details-Panel Inhalt hat (Total Splats größer als 0). Leer bedeutet, dass die Daten nicht hereingekommen sind, daher unmittelbar weiter zu Fehler beim Laden der Daten.

Fehler beim Laden der Daten

Symptom: nach dem Klick auf Load erscheint nichts

Der Reihe nach prüfen:

Mögliche UrsacheWie sie zu bestätigen istBehebung
Der Pfad existiert nicht oder ist falsch geschriebenDas Log zeigt LCC file :<path> does not exist.Den Pfad prüfen. Relative Pfade beziehen sich auf Content
Bei LCC1-Daten fehlen DateienDas Log zeigt Load Meta.lcc error oder meta.lcc file :<path> load errordata.bin und index.bin müssen neben der .lcc-Datei liegen; fehlt eine davon, schlägt es fehl
Der falsche Actor wird genutztKein ausdrücklicher Fehler, aber ein leeres Bild.lcc2 nutzt ALCC2Actor, .lcc nutzt ALCCActor, und Einzeldateiformate haben jeweils ihren eigenen Actor. Siehe FAQ
Das Format wird nicht unterstütztDas Log zeigt LCC4Unreal do not support this file format!Bestätigen, dass die Erweiterung im unterstützten Umfang liegt, siehe Einführung
Die .ply ist kein 3DGS-FormatDas Log gibt an, dass die PLY abgelehnt wurdeDas Plugin unterstützt nur .ply mit 3DGS-Properties; reguläre geometrische Punktwolken lassen sich nicht laden

Symptom: im Editor in Ordnung, nach der Paketierung unsichtbar

Zwei Dinge der Reihe nach prüfen.

Erstens, ob ein absoluter Pfad genutzt wurde. Absolute Pfade funktionieren nur auf dem lokalen Rechner und existieren auf einem anderen nicht mehr. Auf einen relativen Pfad wechseln, relativ zum Verzeichnis Content des Projekts, etwa Scenes/Tower/meta.lcc2.

Zweitens, ob das Datenverzeichnis in den Einstellungen zur Paketierung konfiguriert ist. Die beiden Einstellungen dienen unterschiedlichen Zwecken, daher nach Bedarf wählen:

EinstellungZweck
Additional Non-Asset Directories To CopyDie Daten werden als reguläre Dateien in die Paketausgabe kopiert
Additional Non-Asset Directories To PackageDie Daten werden in die pak-Datei gepackt

Die zweite nutzen, um LCC-Daten in die pak zu packen, und die erste, wenn die Daten nur neben der Paketausgabe mitgeliefert werden müssen. Beide liegen unter ProjectSettings > Packaging.

Nach dem Konfigurieren erneut paketieren und prüfen, ob die Daten wirklich in der Paketausgabe liegen. Zur Konfiguration im Einzelnen siehe Schnellstart.

Symptom: nach der Paketierung eines Blueprint-Projekts arbeitet das Plugin nicht

Reine Blueprint-Projekte werden nur im Editor unterstützt, nicht für die Paketierung. Für die Paketierung ist ein C++-Projekt erforderlich.

Symptom: die geografische Position ist falsch, der GIS-Modus hat keine Wirkung

Diese Punkte prüfen:

  • Ob die Daten RTK-Informationen enthalten. Mit GetMetaInfo().IsRTK() prüfen; zeigt das Log This lcc does not have RTK information!, haben die Daten keine geografischen Informationen
  • Beim Aktivieren aus Code SetGeoPlacement(true) aufrufen, was automatisch neu lädt, damit die Einstellung wirksam wird. Eine unmittelbare Zuweisung an bEnableGeoPlace löst kein Neuladen aus
  • Bei einer versetzten Position GeoLocationOffset zur Feinanpassung nutzen

Zu den Einrichtungsschritten zusammen mit Cesium siehe Integration von Drittanbieter- und Engine-Plugins.

Symptom: Absturz beim Navigieren in sehr großen LCC2-Daten

Auf v1.0.0 ist das ein bekannter Fehler dieser Version (ein Überlauf eines GPU-Buffers). Auf v2.x oder höher aktualisieren.

Symptom: array-bezogener Fehler beim Laden einer großen PLY

Ein bekannter Fehler von v3.0.0, behoben in v3.3.0 und höher; die Version aktualisieren.

Außerdem können Dateien über 2 GB nicht laden, wenn eine PLY keine Kugelflächenfunktionen hat, daher ist eine Konvertierung in das LCC2-Format empfohlen.

Nichts oder nur Teile dargestellt

Symptom: der Actor liegt in der Szene, aber kein Inhalt ist sichtbar

Mögliche UrsacheWie sie zu bestätigen istBehebung
Die Daten wurden nicht geladenSiehe den vorigen AbschnittZuerst das Problem beim Laden lösen
LoadMode steht auf NoneDas Details-Panel prüfenZurück auf Both stellen
Die Kamera liegt jenseits der RenderdistanzNäher herangehen und sehen, ob es erscheintMax Distance erhöhen
Ein Clipping-Volumen hat den Inhalt weggeschnittenbEnabled am Clipping-Volumen zeitweise deaktivierenDen Beschneidungsmodus prüfen, denn Inside und Outside wirken entgegengesetzt, siehe EClipType
Eine Schnittebene hat den Inhalt weggeschnittenDie Schnittebene zeitweise deaktivierenMode und die Ausrichtung der Ebene prüfen, siehe ESectionType
GlobalAlpha ist 0Das Details-Panel prüfenZurück auf 1.0 stellen
Alles liegt in den Umgebungsdaten, aber OnlyMain ist gesetztLoadMode umschalten und vergleichenNach den tatsächlichen Daten wählen, siehe ELoadMode

Symptom: ferner Inhalt fehlt und erscheint erst beim Näherkommen

Das ist das normale Ergebnis von LOD und der Distanzgrenze, kein Fehler. Um fernen Inhalt ebenfalls darzustellen:

  • Max Distance erhöhen, um den Preis geringerer Leistung
  • Level Factor senken, damit auf derselben Distanz höhere Genauigkeit genutzt wird
  • Nebel kann helfen, die Distanzgrenze zu verbergen

Symptom: Löcher am Bildschirmrand beim schnellen Drehen der Ansicht

Das Vorladen der Knoten kommt der Änderung der Ansicht nicht nach. Die LCC-Pipeline kann Add Extra Preload Nodes aktivieren, was zusätzliche Vorlade-Knoten anhängt, um den Preis von mehr zu rendernden Knoten.

Symptom: SceneCapture oder die Minimap ist leer

Zuerst SceneCaptureComponent Support in den Projekteinstellungen aktivieren. Es ist standardmäßig deaktiviert und hat leichte Leistungskosten.

Um die Render-Strategie eines SceneCapture aus Code getrennt zu setzen, siehe SetSceneCaptureRenderMode; zu beachten ist, dass diese Gruppe von Schnittstellen nur in der LCC-Pipeline arbeitet.

Symptom: 3DGS wird von der Wasseroberfläche verdeckt

Verursacht durch die Tiefenbehandlung des Single-Layer-Water-Materials. SingleLayerWater Support aktivieren, siehe Unterstützung von Single Layer Water.

Probleme mit der Bildqualität

Symptom: Ghosting und Schlieren bei Bewegung

Verursacht durch die Methode der Kantenglättung. TSR und TAA verlassen sich auf History-Frames für die zeitliche Akkumulation, ein bewegtes 3DGS lässt daher leicht das vorige Bild zurück.

Der Reihe nach ausprobieren und das Gleichgewicht zwischen Qualität und Ghosting finden:

None → FXAA → MSAA → TAA → TSR

Enthält die Szene nur 3DGS, kann unmittelbar None gesetzt werden, was Ghosting beseitigt und die Kosten der Kantenglättung spart. Zum Standardwert jeder Pipeline und dazu, wo er zu setzen ist, siehe Leistungsparameter.

Symptom: das Bild flackert und Kanten zittern

Diese Punkte in der Reihenfolge des Nutzens ausprobieren:

  1. Die Methode der Kantenglättung prüfen. Das ist die häufigste Ursache, und für die LCC2-Pipeline ist TSR empfohlen, siehe Leistungsparameter.
  2. LCC-Pipeline: Sort Factor senken, um häufiger zu sortieren. Ist die Sortierfrequenz zu niedrig, aktualisiert sich die Vorne-Hinten-Reihenfolge der Transluzenz nur alle paar Bilder, was sich als leichtes Zittern zeigt.
  3. Small Splat Threshold prüfen; ein zu großer Wert macht den Hintergrund körnig.
  4. Flackern feiner Strukturen beim Ein- und Ausfahren der Kamera: Mip Filter aktivieren, was einen Tiefpassfilter mit Deckkraft-Ausgleich anwendet und über verschiedene Maßstäbe stabiler ist. Bei .ply / .spz / .sog ist er standardmäßig deaktiviert.

Symptom: das Bild hat Löcher und wirkt dünn

SplatScale ist zu niedrig gesetzt. Der Standardwert 1.0 ist die Obergrenze; ein Senken verringert Overdraw und hebt die Bildrate, aber kleinere Quads legen Lücken frei. Ihn etwas zurück erhöhen.

Symptom: die Farben wirken grau und flach

Über die Farbparameter behandeln, siehe Bildeinstellungen. Der gängige Weg ist, Contrast leicht zu erhöhen oder die dunklen Bereiche mit Gamma aufzuhellen. Zur Code-Schnittstelle siehe Farbanpassung.

Symptom: deutliche Nähte im Bild (LCC-Pipeline)

LCC-Dateiversion 5.0 und höher behandelt Nähte automatisch. Bei Daten älterer Versionen Nahtentfernung manuell aktivieren, was der Eigenschaft bEnableSeamCutting entspricht.

Symptom: eine Linie erscheint durch die Szene

Die Skalierung des Actors prüfen. Die LCC-Familie der Actors (ALCCActor, ALCC2Actor, ASogActor, ASpzActor, APlyActor) unterstützt nur gleichmäßige Skalierung.

Keine ungleichmäßige Skalierung wie diese nutzen:

  • Mit negativen Werten, etwa (-1, 1, 1)
  • Mit ungleichen Achsen, etwa (2, 1, 3)

Alle drei Achsen müssen gleich bleiben, etwa (1, 1, 1) oder (2, 2, 2). Ungleichmäßige Skalierung verursacht Rendering-Anomalien, die sich als Linie im Bild zeigen.

Probleme mit der Beleuchtung

Symptom: Überbelichtung nach dem Wechsel auf Lit

Die Farben aufgenommener Daten haben die Beleuchtung des Aufnahmeorts bereits eingebacken, und Szenenlichter legen eine weitere Schicht darüber.

  • LCC2-Pipeline: die ursprüngliche Helligkeit mit LightingScale senken, siehe Normalen und Beleuchtung
  • Prüfen, ob die Intensität der Szenenbeleuchtung zu hoch ist

Symptom: keine Formschattierung im Lit-Modus, das Bild wirkt flach

Das ist erwartetes Verhalten. 3DGS-Daten haben keine geometrischen Normalen, und Fixed, ViewFacing und Hemispherical konstruieren Normalen alle näherungsweise, sie können daher nur Änderungen der Gesamthelligkeit erzeugen und keiner von ihnen kann eine Schattierung erzeugen, die der Form folgt. Zur Definition jedes Modus siehe ELCC2NormalGenerationMode.

Nur ProxyMesh kann echte Formschattierung erzeugen. Es erfordert das Erstellen und Platzieren eines Proxy Mesh und erfordert eine Lizenz. Siehe Proxy Mesh und Normalen und Beleuchtung.

Der Unterschied zwischen den drei Näherungsmodi liegt darin, wie sich die Gesamthelligkeit mit Beleuchtung und Blickwinkel ändert, nicht darin, ob es Formschattierung gibt:

  • Fixed: der gesamte Bereich teilt eine feste Normale, vollständig stabil während der Kamerabewegung
  • ViewFacing: die Normalen folgen der Kamera, die Gesamthelligkeit ändert sich daher beim Drehen der Ansicht
  • Hemispherical: Normalen werden von der Bildschirmposition auf eine feste Halbkugel abgebildet, die Gesamthelligkeit geht daher beim Drehen eines Directional Light gleichmäßiger über als bei den anderen beiden

Symptom: der Modus ProxyMesh ist gesetzt, hat aber keine Wirkung

Zu prüfender PunktWie er zu bestätigen ist
Ob NormalMode auf ProxyMesh stehtDas Details-Panel prüfen
Ob die Lizenz gültig istStatus im Plugin-Panel prüfen; ein grünes Häkchen bedeutet, dass die Lizenz in Ordnung ist. Aus Code bedeutet ein Fixed von GetEffectiveNormalGenerationMode(), dass zurückgestuft wurde
Ob das Proxy Mesh ein StaticMesh hatDas Log zeigt eine Warnung has a null StaticMesh
Ob das Proxy Mesh das 3DGS räumlich überlapptDie Zuordnung wird über die Position beurteilt, keine Überlappung bedeutet daher keine Wirkung

Siehe Proxy Mesh.

Symptom: die Schattierung erscheint an der falschen Stelle

Das Proxy Mesh weicht zu stark von der tatsächlichen 3DGS-Oberfläche ab. Entweder verbessern, wie genau das Proxy Mesh anliegt, oder auf einen Näherungsmodus der Normalen wechseln, der keine Formschattierung hat, aber stabiler ist.

Symptom: ProxyMesh-Schatten erscheinen nur in der Nähe und verschwinden in der Ferne

Schatten werden durch die Distanz abgeschnitten. Das ist ein Problem der Engine, kein Fehler des Plugins.

Behebung: den ProxyMesh-Actor auswählen und Far Shadow aus- und wieder einschalten, um vollständige Schatten wiederherzustellen. Die Eigenschaft liegt unter der Kategorie Lighting von StaticMeshComponent.

Symptom: riesige fehlerhafte Schatten im Lit-Modus

Näherungsmodi der Normalen erzeugen bei bestimmten Beleuchtungswinkeln Anomalien. Der Reihe nach versuchen:

  1. NormalMode umschalten, um zu finden, welcher Modus sich korrekt verhält
  2. Den Winkel des Directional Light anpassen
  3. Auf den Modus ProxyMesh mit einem gut anliegenden Proxy Mesh wechseln, was das beste Ergebnis liefert

Symptom: die Farben haben sich nach dem Aktivieren von Schatten geändert

Das ist erwartetes Verhalten. Sobald 3DGS externe Beleuchtung empfängt, ändern sich seine Farben mit der Lichtquelle, daher Farbe und Intensität des Directional Light anpassen.

Symptom: die Helligkeit lässt sich nicht anpassen, die ganze Szene ist dunkel

Nutzt das Projekt ein Compositing-Plugin wie Composure, die Optionen zur Nachbearbeitung an der Component deaktivieren und die Belichtung stattdessen über ein Post Process Volume steuern.

Zu den Einstellungen der Belichtung siehe Bildeinstellungen.

Symptom: Niagara-Effekte sind auf dem 3DGS unsichtbar

Die LCC2-Pipeline gibt Tiefe aus, die Occlusion von Effekten ist daher korrekt und dieses Problem tritt normalerweise nicht auf.

Nur die LCC-Pipeline (.lcc-Daten) kann darauf treffen, weil sie keine Tiefe ausgibt und die Vorne-Hinten-Reihenfolge der Transluzenz über die Sortier-Priorität entschieden werden muss. Die Behebung ist, Translucent Sort Priority am Niagara System zu erhöhen, damit es über dem 3DGS gerendert wird.

Symptom: wirrer Inhalt um die Szene herum

Das sind die Umgebungsdaten. LoadMode von Both auf OnlyMain ändern, um nur den Hauptteil zu rendern.

Symptom: das Umschalten des Lichtmodus bewirkt nichts

SetLightMode hat im Punktwolkenmodus keine Wirkung: Es überspringt die Zuweisung und gibt eine Warnung aus. Zuerst zurück in den 3DGS-Modus wechseln.

Symptom: nach dem Wechsel in den Lit-Modus kein Lichteffekt

Die Forward-Rendering-Pipeline (Forward Shading) verfügt nicht über einen GBuffer, daher ist Relighting nicht verfügbar. Das Setzen von LightMode auf Lit hat keine Wirkung.

Zum Deferred-Rendering-Pipeline (Deferred Shading) wechseln, damit der Lit-Modus korrekt funktioniert. In Project Settings > Rendering > Forward Shading das Häkchen entfernen. Hinweis: Das UE-VR-Template aktiviert Forward Shading standardmäßig und muss manuell deaktiviert werden.

Änderungen von Parametern haben keine Wirkung

Symptom: Werte unter Performance wurden geändert, aber nichts hat sich geändert

Jeder Parameter hat links ein Kontrollkästchen, und solange es nicht angehakt ist, nutzt das Plugin seinen eingebauten Standardwert und der eingetragene Wert hat keine Wirkung. Das ist die mit Abstand häufigste Falle.

Zum eingebauten Standardwert jedes Parameters siehe Leistungsparameter.

Symptom: das Ändern der Parameter für vollständiges Laden bewirkt nichts

Use Full Load und Full Load Splat Number werden beim Laden ausgewertet, die Daten müssen daher nach einer Änderung neu geladen werden.

Zum Unterschied zwischen den beiden Ladeverfahren siehe Rendering.

Symptom: das Ändern von Eigenschaften eines Clipping-Volumens oder einer Schnittebene zur Laufzeit bewirkt nichts

bEnabled, Mode und VolumeType haben keinen Setter, nach einer Zuweisung zur Laufzeit muss daher Refresh() an diesem Actor aufgerufen werden. Dasselbe gilt für eine Änderung des Transforms (Position, Rotation) zur Laufzeit.

Das Ändern von Eigenschaften im Details-Panel im Editor aktualisiert automatisch und erfordert keinen manuellen Aufruf.

Siehe ALCCClippingVolume.

Symptom: Kugelflächenfunktionen sind aktiviert, aber das Bild hat sich nicht geändert

  • Die Daten können vom Typ Portable sein, der keine Kugelflächenfunktionen enthält. Mit CanSetShcoef() bestätigen; zu den Typdefinitionen siehe EFileType
  • SetUseShcoef schlägt im Punktwolkenmodus stillschweigend fehl, daher zuerst zurück in den 3DGS-Modus wechseln
  • LCC2 kann die Kugelflächenfunktionen vollständig über SetUseShcoef deaktivieren

Symptom: viele Clipping-Volumen wurden hinzugefügt, aber nur einige werden wirksam

Die kostenlose Edition begrenzt jeden Typ auf 50. Das Log gibt es ausdrücklich an: Unlicensed: enabled clipping volumes limited to 50 .... Zur Lizenzierung siehe Editionen und Lizenzierung.

Probleme mit der Leistung

Zum vollständigen Ablauf des Abstimmens bei niedriger Bildrate siehe Leitfaden zur Leistung; dieser Abschnitt nennt nur schnelle Prüfungen.

Symptom: niedrige Bildrate

Zuerst bestätigen, ob der Engpass das 3DGS ist. Mit stat unit Game / Draw / GPU lesen, dann mit stat XGrids die Kosten von LCC selbst. Ist der Anteil von LCC niedrig, liegt das Problem woanders in der Szene (Beleuchtung, Nachbearbeitung, Blueprint-Logik) und das Abstimmen der LCC-Parameter bringt keine Verbesserung.

Sobald 3DGS als Ursache bestätigt ist, in der Reihenfolge des Nutzens anpassen:

  1. Level Factor erhöhen (der deutlichste Nutzen)
  2. Max Distance senken
  3. Max Splat Num senken
  4. Start Level erhöhen, um das feinste Level zu überspringen
  5. Kugelflächenfunktionen deaktivieren
  6. Wenn nötig auf den Punktwolkenmodus wechseln

Symptom: der Grafikspeicherbedarf ist zu hoch

  • Level Factor erhöhen
  • Max Splat Num senken
  • In der LCC2-Pipeline LCC2 GPU Memory Budget anpassen
  • Den Freigabe-Schwellwert Max GPU Usage Percetage For Free anpassen

Zu den Zuweisungsregeln des Grafikspeichers und zum Mechanismus der automatischen Freigabe siehe Rendering. Einzeldateiformate (.sog / .spz / .ply) laden vollständig auf einmal, ihr Grafikspeicherbedarf ist daher konstant und ändert sich nicht mit der Ansicht, siehe Ladegrenzen von Einzeldateiformaten.

Symptom: Ruckeln beim Laden

  • Das erstmalige Aktivieren der Kollision hat einmalige Kosten für das Backen, daher in der Ladephase aktivieren und nicht mitten in einer Interaktion des Spielers
  • Max Load Collision Distance senken, um nur den benötigten Bereich zu laden
  • Die Konfiguration der Threads anpassen, siehe Leistungsparameter

Symptom: falsche Occlusion, wenn mehrere 3DGS sich durchdringen

  • LCC-Pipeline: Sortierung der Transluzenz bei mehreren Actors aktivieren
  • LCC2-Pipeline: den Tiefenschwellwert anpassen, um zu ändern, wo Tiefe geschrieben wird

Kollision und Navigation

Symptom: Line Traces treffen das 3DGS nicht

Zu prüfender PunktMaßnahme
Ob die Daten Kollision enthaltenEinzeldateiformate enthalten keine Kollisionsdaten, siehe Voraussetzungen
Ob Kollision aktiviert istbEnableCollision anhaken, siehe Aktivieren
Ob an dieser Stelle Kollision geladen istMit ShowCollision() das Wireframe ansehen, siehe Visualisierung der Kollision
Ob die Trace-Distanz den Laderadius der Kollision übersteigtMax Load Collision Distance erhöhen

Zeigt das Log There is neither collision.bin nor collision.lci in the folder, liegt keine Kollisionsdatei im Datenverzeichnis.

LCC1 hat eine weitere Gruppe von Schnittstellen für Strahlentests gegen Punktwolken-Positionen, sie sind aber nicht ausreichend getestet, daher ist die Nutzung von Kollision zusammen mit den Strahlentests der Engine empfohlen, siehe ULCCComponent Strahlentest.

Symptom: der Charakter fällt unmittelbar beim Start nach unten

Kollision wird dynamisch in Chunks geladen, die Kollisionsdaten können beim Start des Spiels daher noch nicht aufgebaut sein, und der Charakter fällt, wenn unter ihm keine Kollision liegt.

Wie damit umzugehen ist:

  • PlayerStart etwas über dem Boden platzieren
  • Oder die Bewegung des Charakters um einige Sekunden verzögern
  • Kollision in der Ladephase aktivieren und nicht nachdem der Spieler mit der Interaktion beginnt

Symptom: der Charakter rutscht durch oder fällt, nachdem er sich eine bestimmte Distanz entfernt hat

Kollision wird nach Distanz gestreamt, Bereiche jenseits des Laderadius haben daher keine Kollisionskörper. Max Load Collision Distance(m) erhöhen, um den Aktionsradius des Charakters abzudecken.

Kollision kann auch nicht nachkommen, wenn der Charakter sich zu schnell bewegt, was sich ebenso durch ein Erhöhen der Ladedistanz mildern lässt.

Symptom: das NavMesh wird überhaupt nicht erzeugt

Zu prüfender PunktMaßnahme
Die Daten enthalten keine KollisionBestätigen, dass .lcc oder .lcc2 genutzt wird; Einzeldateiformate haben keine Kollisionsdaten
Kollision ist nicht aktiviertbEnableCollision anhaken und CanEverAffectNavigation = true bestätigen
Kollision ist noch nicht geladenIm View Mode Player Collision oder Visibility Collision auswählen und bestätigen, dass im Zielbereich Kollisionskörper erschienen sind
Der Laderadius der Kollision ist zu kleinMax Load Collision Distance(m) erhöhen, um den gesamten Aktionsbereich der KI abzudecken
NavMeshBoundsVolume fehlt oder deckt den Bereich nicht abEs platzieren und so skalieren, dass es den Zielbereich abdeckt
Die Navigation wurde nicht neu aufgebautBuild → Build Paths ausführen und das Level speichern

Zum vollständigen Ablauf siehe Unterstützung des Navigation System.

Abstürze

Symptom: Absturz nach einem Assertion-Fehler ArraySliceIndex

Der Fehler sieht so aus:

Assertion failed: ArraySliceIndex >= 0

Die Ursache ist, dass die aktuelle Version das Adaptive-GBuffer-Format von Substrate nicht unterstützt.

Behebung:

  1. ProjectSettings > Rendering öffnen und Substrate GBuffer Format (Project) finden.
  2. Den Wert auf BlendableGBuffer ändern. Das ist der Standardwert der Engine.
  3. Die Engine neu starten.

AdaptiveGBuffer ist ein bekanntes inkompatibles Format, und BlendableGBuffer arbeitet korrekt.

Probleme mit der Lizenzierung

Zuerst Status im Plugin-Panel prüfen: Ein grünes Häkchen bedeutet, dass die Lizenz in Ordnung ist und die Funktionen der Pro-Edition verfügbar sind. Alles außer einem grünen Häkchen bedeutet, dass die Lizenz nicht wirksam wurde, daher das Log lesen, um den Grund zu bestätigen.

Die Informationen zur Lizenzierung im Log sind recht ausdrücklich, daher nach dem handeln, was dort steht:

Log-MeldungBedeutung und Maßnahme
ProjectID is invalid; generate one in Project SettingsDas Projekt hat keine Project ID. Eine unter Project Settings > Project > Description erzeugen
Failed to decode AppKey, please check.Der Inhalt des AppKey ist unvollständig oder wurde falsch kopiert, ihn erneut kopieren
Invalid AppKey, please check.Das Format des AppKey ist falsch, bestätigen, dass es die vollständige Zeichenfolge von der Entwicklerplattform ist
Authorization has expired, please check.Die Lizenz ist abgelaufen, sie auf der Entwicklerplattform neu erzeugen
AppKey has expired. Please generate a new one.Wie oben
HTTP request failed / HTTP error! Status: <code>Ein Netzwerkproblem oder der Lizenzserver ist nicht erreichbar, Netzwerk und Firewall prüfen
Signature Verification FailedDie Signaturprüfung ist fehlgeschlagen, den technischen Support kontaktieren

Zum Ablauf der Lizenzierung siehe Editionen und Lizenzierung.

Build und Paketierung

Symptom: fehlende Binaries oder Fehler beim Build eines Moduls

Wenn einer der folgenden Fehler erscheint, das Projekt nach den Schritten dieses Abschnitts neu erzeugen und neu bauen:

Missing UnrealGame binary. You may have to build the UE project with your IDE.
Alternatively, build using UnrealBuildTool with the commandline:
UnrealGame <Platform> <Configuration>
*** could not be compiled. Try rebuilding from source manually

Die Ursache ist, dass die Engine nach dem Hinzufügen des Plugins zu einem C++-Projekt die neuen Module erkennt, die zugehörige Build-Ausgabe aber fehlt. Wie folgt vorgehen:

  1. Das Projekt schließen.
  2. Die Datei *.uproject des Projekts suchen.
  3. Mit der rechten Maustaste auf *.uproject klicken und Generate Visual Studio project files wählen.
  4. Warten, bis das VS-Projekt fertig neu erzeugt ist.
  5. Mit einem Doppelklick auf *.sln Visual Studio öffnen.
  6. Im Solution Explorer mit der rechten Maustaste auf das Projekt klicken und Set as Startup Project wählen, um sicherzustellen, dass es das Startprojekt ist.
  7. Bestätigen, dass die Konfiguration Development Editor und Win64 ist.
  8. Auf Debug > Start Without Debugging klicken, um das Projekt zu starten.
  9. Sobald der Build durchläuft, öffnet sich das Projekt normal. Danach genügt ein Doppelklick auf *.uproject und dieser Ablauf ist nicht jedes Mal nötig.

Schlägt es nach den obigen Schritten weiterhin fehl, zuerst das Verzeichnis Intermediate des Projekts löschen und dann erneut ab Schritt 3 vorgehen.

Zu den Schritten der Installation des Plugins siehe Schnellstart.

Symptom: die Paketierung schlägt fehl

Zuerst diese drei Punkte prüfen:

  • Full Rebuild unter ProjectSettings > Packaging muss deaktiviert bleiben, und in VS kein Rebuild ausführen. Das Plugin unterstützt beides nicht, siehe Schnellstart
  • Bestätigen, dass ein C++-Projekt genutzt wird, denn Blueprint-Projekte lassen sich nicht paketieren
  • Bestätigen, dass die Engine-Version im unterstützten Umfang liegt (UE 5.4 ~ 5.8)

Zu konkreten Fehlern siehe die zwei folgenden Abschnitte.

Symptom: fehlendes Precompiled Manifest bei der Paketierung

Der Fehler sieht so aus:

Missing precompiled manifest for 'LCC4UnrealRuntime',
'\Shipping\LCC4UnrealRuntime\LCC4UnrealRuntime.precompiled'.
This module was most likely not flagged for being included in a precompiled build
- set 'PrecompileForTargets = PrecompileTargetsType.Any;' in LCC4UnrealRuntime.build.cs
to override. If part of a plugin, also check if its 'Type' is correct.

Warum es passiert: Die im Fehler genannten Dateien werden mit dem Plugin ausgeliefert und liegen in seinem Verzeichnis Intermediate. Ein Full Rebuild unter ProjectSettings > Packaging oder ein Rebuild in VS lässt die Engine das Verzeichnis Intermediate bereinigen und diese vorkompilierten Ausgaben mit löschen.

LCC4Unreal ist ein Binär-Plugin ohne Quellcode, die gelöschten Ausgaben lassen sich daher nicht neu bauen und nur aus dem Plugin-Paket wiederherstellen. Aus diesem Grund beide Vorgänge vermeiden.

Wie es zu beheben ist:

  1. Bestätigen, dass Full Rebuild unter ProjectSettings > Packaging deaktiviert ist, und in VS kein Rebuild ausführen.
  2. Den Inhalt des Plugin-Verzeichnisses lcc4unreal/Intermediate/Build/Win64/UnrealGame nach <Projektverzeichnis>/Intermediate/Build/Win64/<Projektname> kopieren.
  3. Den Inhalt des Plugin-Verzeichnisses lcc4unreal/Intermediate/Build/Win64/x64 nach <Projektverzeichnis>/Intermediate/Build/Win64/x64 kopieren.
  4. Die Engine neu starten und erneut paketieren.

Hinweis: Der Name des Zielverzeichnisses in Schritt 2 ist der Projektname, nicht UnrealGame. Für ein Projekt namens MyProject ist der Zielpfad MyProject/Intermediate/Build/Win64/MyProject.

Wenn der Fehler auf andere Dateien zeigt: Die zwei Verzeichnisse oben decken die häufigen Fälle ab. Nennt der Fehler eine andere Datei, genauso vorgehen: diese Datei unter dem Verzeichnis Intermediate des Plugins am gleichen relativen Pfad suchen und an die entsprechende Stelle im Projekt kopieren.

Wenn das Verzeichnis Intermediate des Plugins ebenfalls bereinigt wurde: Dann ist nichts mehr zum Kopieren übrig, daher das Plugin-Paket erneut herunterladen und über die vorhandenen Dateien entpacken, um sie wiederherzustellen.

Symptom: der Build schlägt auf einer benutzerdefinierten Engine fehl

Veröffentlichte Plugin-Pakete funktionieren nur mit von Epic veröffentlichten Engines. Herstellerspezifisch angepasste Branches, von UE abgeleitete kommerzielle Engines und Engines mit lokal geändertem Quellcode erfordern alle einen eigenen Build, siehe Benutzerdefinierte Engine-Versionen.

Symptom: Fehler bei der Paketierung für Android

Die aktuelle Version unterstützt keine direkte Paketierung für die Android-Plattform. Das ist eine Einschränkung der Plattformkompatibilität und lässt sich nicht durch eine Änderung der Konfiguration der Paketierung lösen.

Zur Nutzung auf einem VR-Gerät auf dem PC ausführen und streamen, siehe Schnellstart - Quest3.

Weiterhin nicht gelöst

Die folgenden Informationen zusammenstellen und Kontakt aufnehmen, siehe Kontakt:

  • Plugin-Version und Engine-Version
  • Datenformat und ungefähre Größe
  • Die vollständige Log-Datei des Durchlaufs, in dem das Problem auftrat, ungefiltert und nicht nur die Fehlerzeilen
  • Schritte zur Reproduktion
  • Modell der Grafikkarte und Version des Treibers

Zum Ablageort der Log-Datei und weiteren Details siehe Logs und Diagnose.

Zurück
FAQ
Weiter
Logs und Diagnose