Im Folgenden sind bekannte Probleme bei der Arbeit mit Scene Graph in deinem Projekt aufgeführt. Wenn du Feedback hast oder Probleme feststellst, die nicht in der Liste unten aufgeführt sind, melde sie in den Foren.
Scene Graph ist eine Betafunktion, und es kann zu unerwarteten Abstürzen und Instabilitäten kommen.
Licht-Komponenten in Entitäten zeigen keine Beleuchtungs-Drahtgitter an. Die Problemumgehung besteht darin, eine Entität im Viewport erneut auszuwählen, damit die Visualisierer angezeigt werden.
Du kannst nicht alle Überschreibungen aus der Prefab-Instanz gleichzeitig löschen. Du musst jedes Überschreiben einzeln löschen.
Zurzeit verwenden Entitäten nicht das Eine-Datei-pro-Actor-System, sondern werden im Umap-Asset gespeichert, was zu Nebeneffekten bei den Workflows zur Revisionskontrolle (URC und Perforce) führt. Wenn du URC in deinem Projekt verwendest, wird bei der Bearbeitung einer Entität das Haupt-Level gesperrt, sodass nicht mehrere Mitglieder eines Teams gleichzeitig an Entitäten arbeiten können. Weitere Nebeneffekte, die du bei der Revisionskontrolle feststellen kannst, umfassen:
Entitäten spiegeln den Revisionskontrollstatus nicht einzeln im Outliner oder in der Statushervorhebung im Viewport wider.
Das Untermenü Revisionskontrolle für Entitäten ist deaktiviert, was bedeutet, dass entitätsspezifische Actions wie das Rückgängigmachen nicht möglich sind.
Die Liste der geänderten Dateien des Absenden-Dialogs wird keine entitätsspezifischen Informationen umfassen.
Die Schnappschuss-Verlaufsinformationen von URC werden Änderungen an bestimmten Entitäten in einem bestimmten Schnappschuss nicht aufnehmen.
Es gibt keine Möglichkeit, außer Kraft gesetzte Prefab-Instanzen im Prefab-Asset zu speichern.
Duplizierte Entitäten werden im Prefab-Editor nicht korrekt benannt.
Alle erweiten und Alle zuklappen funktionieren nicht bei Komponenten.
Es gibt derzeit keine Möglichkeit, Überschreibungen aus einem Prefab zu entfernen.
Ein Rechtsklick auf das Überschreibungssymbol sollte die gleiche Wirkung haben wie ein Linksklick.
Du kannst eine Child-Entität nicht abtrennen, indem du sie auf ihre Parent-Entität ziehst.
Das Scrubben der Statische-Mesh-Komponente Rotation entlang der linken Achse verursacht unerwartete Bewegungen.
Es gibt ein unerwartetes Verhalten des Spielers bei Kollisionen mit Szenendiagramm-Objekten.
Sobald eine Entität manuell umbenannt wurde, kann der Name der Entität nicht mehr geändert werden.
Negative Skalierung kann zu abnormalen Interaktionen in untergeordneten Entitäten führen, wenn diese gedreht werden.
Das Ziehen von Transformationswerten im Prefab-Editor ist langsamer und weniger leistungsfähig als das Ändern der Werte über das Widget.
Entitäten im Prefab-Editor können nicht immer ausgewählt werden.
Das Löschen einer Prefab erstellt in Live-Edit-Sitzungen eine „Geister“-Prefab.
Prefab-Assets haben keine Miniaturansicht.
Die Komponentenlogik läuft sowohl im Bearbeitungs- als auch im Spielmodus.
Komponenten werden viel früher als Kreativmodus-Geräte initialisiert, was bedeutet, dass der Versuch, ein Kreativmodus-Gerät von
component.OnBeginSimulationodercomponent.OnSimulateabzurufen, nicht funktioniert. Um dies zu umgehen, kannst du eine Schleife bilden und warten, bis die Komponenten gefunden werden, oder du kannst deine Prefabs über denOnBegin-Aufruf eines Kreativgeräts spawnen.Die Fähigkeit, ausgewählte Objekte im Level-Editor (Tastaturkürzel H) und im Prefab Editor auszublenden, funktioniert nicht.
Änderungen, die im Prefab-Editor vorgenommen werden, werden nicht auf die platzierten Instanzen des Prefab übertragen, es sei denn, Sie speichern Ihre Änderungen.
Wenn Du das Projekt speicherst, während der Verse-Code nicht kompiliert wird, kann das zu beschädigten Prefab-Daten führen.
Die erstmalige Erstellung von Verse Asset Digest kann langsam sein.
Wenn man ein Prefab im Level-Editor dupliziert und einfügt oder dupliziert, werden abhängige Prefabs und abhängige Entitäten, die zum Basis-Prefab-Asset gehören, fälschlicherweise als vollständig überschrieben markiert.
Mesh-, Sound- und Partikeleffekt-Komponenten werden in Verse nur für Assets generiert, die Du in Dein Projekt importierst oder in Deinem Projekt erstellst, zusammen mit einer kleinen Auswahl an eingebauten Mesh-Formen. Standardmäßig kannst du keine Fortnite- oder FAB-Assets mit Scene Graph verwenden.
Wenn Du ein neues Mesh oder einen neuen Sound in Dein Projekt importierst oder ein neues Partikelsystem-Asset erstellst, musst Du Verse-Code für Dein Projekt erstellen, um eine Komponentenklasse für dieses Asset zu generieren, bevor Du es mit dem Szenendiagramm-System verwenden kannst.
Wenn Du Parameter in den Material- oder Niagara-Editoren hinzufügst und änderst, musst Du Verse-Code erstellen, damit diese Änderungen für den Level-Editor sichtbar werden.
Wenn Du Mesh, Sounds oder Partikelsystem-Assets im Editor verschiebst, umbenennst oder löschst, ist es möglich, dass Du Referenzen zu den generierten Komponenteninstanzen im Level-Editor verlierst, da die generierten Klassen derzeit keine Redirektoren verwenden können.
Asset-generierte Komponenten werden erst generiert, wenn du mindestens eine erstellerbare Verse-Datei in deinem Projekt hast und Verse kompilierst.
Scene Graph wird ohne Redirectors ausgeliefert. Ohne Redirectors kann das Umbenennen von Assets eines der folgenden beiden Szenarien auslösen:
Objekte, auf die andere Objekte im Details-Panel verweisen, haben ihre Objekt-Referenzen unterbrochen. Dazu müssen sie erneut gesichert werden.
Im Verse-Code aufgerufene Objekt-Referenzen lösen Compilerfehler aus, und die Referenzen müssen manuell aktualisiert werden.
Das neue LUF-Koordinatensystem wirkt sich auf bestehende Inhalte und Scene-Graph-Inhalte aus. Jeder vorhandene Verse-Code funktioniert weiterhin. Wenn du jedoch denselben Code mit Scene Graph verwenden möchtest, musst du von den alten Typen /UnrealEngine.com/Temporary/SpatialMath zu den Typen /Verse.org/SpatialMath konvertieren. Es gibt neue Konvertierungsfunktionen, die zwischen den alten und neuen Typen transformieren können:
FromVector3
FromScalarVector3
FromRotation
FromTransform zurück
VerseTeleportLocation := (/Verse.org/SpatialMath:)vector3{Left := 330.0, Up := 20.0, Forward := 50.0} TeleportRotation := (/Verse.org/SpatialMath:)MakeRotationFromYawPitchRollDegrees(90.0, 0.0 ,0.0) if: FortCharacter := Agent.GetFortCharacter[] FortCharacter.TeleportTo[FromVector3(TeleportLocation), FromRotation(TeleportRotation)] then: Print("Character Teleported")Wenn du Scene Graph aktivierst, werden einige der Codegenerierungsregeln für Klassen geändert, die in
Assets.digest.versegeneriert werden. Das kann dazu führen, dass vorhandener Verse-Code nicht mehr kompiliert wird. Du musst den Verse-Code korrigieren, bevor du mit deinem Projekt fortfährst.Wichtige Beispiele
Verse# Assets.digest.verse MyMesh := class(mesh){} MyMaterial := MakeAsset(material, "MyMaterial.uasset") # YourVerseFile.verse SetMesh(MyMesh) SetMaterial(MyMaterial)Nach Scene Graph
Verse# Assets.digest.verse MyMesh_asset := class(mesh){} MyMesh := class(mesh_component){} MyMaterial := class(material){} # YourVerseFile.verse SetMesh(MyMesh_asset) SetMaterial(MyMaterial{})Sowohl das
tag_component- als auch das Szenen-Event-System werden noch iteriert und sind noch experimentell. Vermeide die Verwendung dieser Funktionen, wenn du Inseln mit Scene Graph Code veröffentlichen willst.Die Simulation Entity ist nicht verfügbar, es sei denn, eine Szenendiagramm-Entität wurde bereits im Level platziert.
Es gibt ein Problem mit Verse-Klassen, die in ihren Mitgliedsvariablen auf Prefab-Klassen verweisen. Dies führt zu einer Fehlermeldung beim Start des Editors. Du erhältst eine sicherstellen von
StaticAllocateObject(), dass du versuchst, eine Instanz einer abstrakten Klasse zu erstellen, und die Klasse istObject. DiesesStaticAllocateObject()wird vom *InitCDO deiner Verse-Klasse aufgerufen.Ändert man den Typ des Standardobjektwerts in einer Verse-Komponentenklasse zwischen dem Kopieren und Einfügen einer Entität, wird am Ende der Verweis auf die Instanz des alten Typs importiert, obwohl die Eigenschaft nicht überschrieben wurde.
Das Neuladen eines Entität-Prefab-Assets mit einem hinzugefügten Entität-Child löst einen ensure
OldToNew.Value->HasAnyClassFlags(CLASS_TokenStreamAssembled)aus.Wir empfehlen, immer nur eine Person in Scene Graph zu bearbeiten.
Nur Nutzer mit Administratorberechtigungen für ihr Creator-Team können neue URC-Repositories für neue Projekte erstellen
Gegenstandsaufstellung
Spieler können derzeit nicht einige oder alle Gegenstände im Inventarmenü auswählen, nachdem sie im Bearbeitungsmodus waren. Der Workaround für dieses Problem besteht darin, deine UEFN-Sitzung zu schließen und neu zu starten.
NPCs können die neuen benutzerdefinierten Gegenstände und Inventar derzeit nicht nutzen.
Neu zugeordnete Schlüssel werden von einigen Inventar-Inputs nicht beachtet.
Gegenstände wurden möglicherweise im falschen Inventar platziert.
Einige Symbole für die Controller-Input-Bindung fehlen, wenn ein Controller verwendet wird.
Das Aufheben einer Gegenstand-Entität kann dazu führen, dass die Bewegung des Spielers unterbrochen wird. Der Workaround besteht darin, die Sitzung zu schließen und neu zu starten.
Es gibt einige Probleme mit der Benutzeroberfläche und der Präsentation für Inventare und Gegenstände.