Voici les problèmes connus liés à l'utilisation de Scene Graph dans votre projet. Si vous souhaitez nous faire part de vos commentaires ou nous signaler des problèmes qui ne figurent pas dans la liste ci-dessous, veuillez les publier dans les forums.
Scene Graph est une fonctionnalité bêta ; des plantages inattendus et une instabilité peuvent survenir.
Les composants d'éclairage des entités n'affichent pas les fils de fer d'éclairage. La solution de contournement consiste à resélectionner une entité dans le hublot pour afficher les visualiseurs.
Vous ne pouvez pas effacer tous les remplacements simultanément d'une instance de préfabriqué. Vous devez décocher chaque remplacement, un à la fois.
Pour le moment, les entités n'utilisent pas le système "un fichier par acteur" ; les entités sont enregistrées dans la ressource UMAP, ce qui crée des conflits avec les flux de travail de contrôle de révision (URC et Perforce). Si vous utilisez URC avec votre projet, la modification d'une entité verrouille le niveau principal, ce qui empêche plusieurs membres d'une équipe de travailler simultanément sur des entités. Autres conflits que vous pouvez observer avec le contrôle de révision :
Les entités ne reflètent pas le statut de contrôle de révision individuellement dans l'organiseur ou la sélection du statut dans le hublot.
Le sous-menu du contrôle de révision pour les entités est désactivé ; autrement dit, les actions propres aux entités (p. ex., Rétablir) ne sont pas disponibles.
La liste des fichiers modifiés de la fenêtre d'envoi ne comprend pas d'informations propres aux entités.
Les informations de l'historique des instantanés d'URC n'incluent pas les modifications apportées à des entités spécifiques dans un instantané donné.
Il est impossible d'enregistrer les instances de préfabriqué remplacées dans la ressource de préfabriqué.
Les entités dupliquées ne sont pas nommées correctement dans l'éditeur de préfabriqué.
Les options Tout développer et Tout réduire ne fonctionnent pas pour les composants.
Il n'est actuellement pas possible de supprimer les remplacements d'un préfabriqué.
Faire un clic droit sur l'icône de remplacement doit avoir le même effet qu'un clic gauche.
Il n'est pas possible de dissocier une entité enfant en la faisant glisser sur son parent.
Faire défiler la rotation du composant de maillage statique le long de l'axe gauche entraîne un mouvement inattendu.
Un comportement de joueur inattendu se produit en cas de collision avec les objets de Scene Graph.
Une fois qu’une entité a été renommée manuellement, son nom ne peut plus être modifié.
Une mise à l’échelle négative peut entraîner des interactions anormales dans les entités enfants en cas de rotation.
Faire glisser les valeurs de transformation dans l'éditeur de préfabriqué est plus lent et moins performant que de modifier les valeurs à partir du widget.
Il n'est pas toujours possible de sélectionner les entités dans l'éditeur de préfabriqué.
Effacer un préfabriqué crée un préfabriqué "fantôme" lors des sessions de modification en direct.
Les ressources des préfabriqués ne possèdent pas de vignettes.
La logique de composant s’exécute en mode Modification et en mode Jeu.
Les composants sont initialisés beaucoup plus tôt que les appareils du mode Créatif, ce qui signifie que les tentatives d'obtention d'appareil du mode Créatif à partir de
component.OnBeginSimulationou decomponent.OnSimulatene fonctionneront pas. Pour contourner ce problème, vous pouvez créer une boucle avec temporisation jusqu'à ce que les composants soient trouvés ou générer vos préfabriqués à partir de l'appelOnBegind'un appareil du mode Créatif.L'option de masquage des entités sélectionnées dans l'éditeur de niveau (raccourci H) et l'éditeur de préfabriqué ne fonctionne pas.
Les modifications effectuées dans l'éditeur de préfabriqué ne se propagent pas aux instances placées du préfabriqué à moins que vous enregistriez vos modifications.
Enregistrer le projet alors que le code Verse ne se compile pas peut entraîner une corruption des données de préfabriqué.
La première génération de synthèse des ressources Verse peut s'avérer lente.
Lorsque vous copiez et collez ou dupliquez un préfabriqué dans l'éditeur de niveau, les préfabriqués descendants et les entités descendantes qui appartiennent à la ressource du préfabriqué de base sont marqués à tort comme étant entièrement remplacés.
Les composants de maillage, de son et d'effet de particules sont générés uniquement dans Verse pour les ressources que vous importez ou créez dans votre projet, ainsi que pour une sélection réduite de formes de maillage intégrées. Par défaut, vous ne pouvez pas utiliser les ressources Fortnite ou FAB avec Scene Graph.
Lorsque vous importez un nouveau maillage ou un nouveau son dans votre projet, ou lorsque vous créez une nouvelle ressource de système de particules, vous devez créer du code Verse pour votre projet afin de générer une classe de composant pour cette ressource avant de pouvoir l'utiliser avec le système Scene Graph.
Au fur et à mesure que vous ajoutez et modifiez des paramètres dans l’éditeur de matériau ou dans Niagara Editor, vous devrez générer le code Verse correspondant pour que ces modifications soient prises en compte dans l'éditeur de niveau.
Si vous déplacez, renommez ou supprimez des ressources de maillage, de son ou de système de particules dans l'éditeur, il est possible de perdre les références aux instances de composant générées dans l'éditeur de niveau, car à l'heure actuelle les classes générées ne peuvent pas utiliser de redirecteurs.
Les composants générés à partir des ressources ne sont créés qu’à partir du moment où le projet contient au moins un fichier Verse compilable et que le code Verse est compilé.
Scene Graph est livré sans redirecteurs. Sans redirecteurs, le renommage des ressources peut entraîner l’un des deux scénarios suivants :
Les objets référencés par d’autres Objets dans le panneau Détails perdront leur lien de référence. Il faudra alors les reconfigurer.
Les objets référencés dans le code Verse entraîneront des erreurs de compilation, et les références devront être mises à jour manuellement.
Le nouveau système de coordonnées LUF a une incidence sur le contenu existant ainsi que le contenu de Scene Graph. Tout code Verse existant continuera de fonctionner. Cependant, si vous souhaitez utiliser le même code avec Scene Graph, vous devrez convertir les anciens types /UnrealEngine.com/Temporary/SpatialMath en types /Verse.org/SpatialMath . De nouvelles fonctions de conversion permettent de passer des anciens aux nouveaux types :
FromVector3
FromScalarVector3
FromRotation
FromTransform
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")L'activation de Scene Graph modifie certaines des règles de génération de code pour les classes générées dans
Assets.digest.verse. Cela peut signifier que le code Verse existant ne sera plus compilé. Vous devrez corriger le code Verse avant de poursuivre votre projet.Exemples clés
Verse# Assets.digest.verse MyMesh := class(mesh){} MyMaterial := MakeAsset(material, "MyMaterial.uasset") # YourVerseFile.verse SetMesh(MyMesh) SetMaterial(MyMaterial)Après Scene Graph
Verse# Assets.digest.verse MyMesh_asset := class(mesh){} MyMesh := class(mesh_component){} MyMaterial := class(material){} # YourVerseFile.verse SetMesh(MyMesh_asset) SetMaterial(MyMaterial{})Les systèmes
tag_componentet Scene Event sont toujours en cours d'itération et sont encore expérimentaux. Évitez d’utiliser ces fonctionnalités si vous souhaitez publier des îles contenant du code Scene Graph.L’entité de simulation ne sera disponible que si une entité de graphique de scène a déjà été placée dans le niveau.
Un problème survient lorsque des classes Verse référencent des classes de préfabriqués dans leurs variables membres. Cela entraîne l’affichage d’un message d’erreur au démarrage de l’éditeur. Une alerte ensure provenant de
StaticAllocateObject()s'affichera, indiquant que vous tentez de créer une instance d’une classe abstraite, et que la classe concernée estObjet. CeStaticAllocateObject()est appelé depuis le $InitCDO de votre classe Verse.Changer le type de valeur d’objet par défaut dans une classe de composant Verse entre un copier-coller d’entité finira par importer la référence à l’instance de l’ancien type même si la propriété n’a pas été remplacée.
Le rechargement d’une ressource de préfabriqué d’entité auquel un enfant d’entité a été ajouté déclenche une alerte ensure
OldToNew.Value->HasAnyClassFlags(CLASS_TokenStreamAssembled).Il est recommandé de limiter l’édition dans Scene Graph à une seule personne à la fois.
Seuls les utilisateurs disposant d'autorisations d'administrateur pour leur équipe de créateurs peuvent créer de nouveaux référentiels URC pour de nouveaux projets.
Itémisation
Les joueurs ne peuvent actuellement pas sélectionner une partie ou l'ensemble des objets de l'inventaire après être passés en mode modification. La solution de contournement à ce problème consiste à fermer et à relancer votre session UEFN.
Les PNJ ne sont actuellement pas en mesure d'utiliser les nouveaux inventaires et objets personnalisés.
Certaines des entrées d'inventaire ne respectent pas les clés remappées.
Il est possible que les objets soient placés dans l'inventaire incorrect.
Certaines icônes de liaison d'entrée de manette de jeu sont absentes lors de l'utilisation d'un contrôleur.
Le ramassage d'une entité d'objet peut empêcher le joueur de se déplacer. La solution de contournement consiste à fermer et à relancer la session.
Certains problèmes d'interface et de présentation se produisent pour les inventaires et les objets.