Ниже перечислены известные проблемы при работе со Scene Graph в проекте. Если у вас возникнут какие-либо вопросы или проблемы, которые не отражены в списке ниже, сообщите о них на форуме.
На данный момент Scene Graph представлен в бета-версии, поэтому вы можете столкнуться с неожиданными сбоями и нестабильной работой.
Компоненты освещения в модулях не отображают каркасное представление освещения. Чтобы обойти это ограничение, необходимо повторно выбрать модуль в окне просмотра для отображения визуализаторов.
Вы не можете сбросить сразу все переопределения для экземпляра заготовки. Вам необходимо сбросить все переопределения по одному.
На данный момент модули не сохраняются по принципу «один файл — один актор», а сохраняются целиком как ресурс UMAP, что приводит к побочным эффектам в рабочих процессах контроля версий (URC и Perforce). Если вы используете URC в своём проекте, во время редактирования модуля основной уровень будет заблокирован, из-за чего несколько участников команды не смогут одновременно работать над модулями. При использовании контроля версий вы также можете наблюдать следующие побочные эффекты:
Модули не будут отражать статус контроля версий по отдельности ни на панели «Структура», ни при выделении статуса в окне просмотра.
Подменю контроля версиями для модулей отключено, поэтому действия, специфичные для модулей — такие как откат — недоступны.
Список изменённых файлов в диалоговом окне для отправки не будет включать информацию, относящуюся к модулям.
Информация об истории снимков состояния URC не будет фиксировать изменения конкретных модулей на заданном снимке состояния.
На данный момент невозможно сохранить экземпляры заготовки с переопределениями в виде ресурса заготовки.
Названия дубликатов модулей в редакторе модулей назначаются некорректно.
Функции «Развернуть всё» и «Свернуть всё» для компонентов не работают.
На данный момент удалить переопределения с заготовки невозможно.
Щелчок правой кнопкой мыши по значку переопределения должен действовать так же, как щелчок левой кнопкой.
Невозможно отсоединить дочерний модуль, перетащив его на родительский.
Прокрутка «Вращение компонента статичной сетки» по оси Y вызывает непредвиденное движение.
Возникает непредвиденное поведение игрока при столкновении с объектами Scene Graph.
Если модуль был переименован вручную, его название больше нельзя изменить.
Уменьшение масштаба может вызвать необычное взаимодействие дочерних модулей при вращении.
Перетаскивание значений преобразования в редакторе заготовок выполняется медленнее и с меньшими затратами памяти, чем изменение значений в виджете.
Не всегда удаётся выбрать модули в редакторе заготовок.
После удаления заготовки во время сеанса редактирования по сети остаётся «призрачная» заготовка.
Не отображаются миниатюры ресурсов заготовок.
Логика компонента запускается одновременно и в режиме редактирования, и в режиме игры.
Инициализация компонентов происходит намного раньше, чем у устройств творческого режима, а это значит, что попытка извлечь устройства из
component.OnBeginSimulationилиcomponent.OnSimulateни к чему не приведёт. Чтобы обойти проблему, вы можете использовать цикл и режим сна, пока компоненты не будут найдены или пока заготовки не смогут быть созданы вызовомOnBeginот устройства творческого режима.Не удаётся скрыть выбранные модули в редакторе уровней (нажатием горячей клавиши H) и в редакторе заготовок.
Изменения, внесённые в редакторе заготовок, не распространяются на размещённые экземпляры заготовки, пока такие изменения не будут сохранены.
Если сохранить проект, пока код Verse ещё не скомпилирован, то данные заготовки будут повреждены.
Компиляция дайджеста ресурса Verse в первый раз может оказаться медленной.
При копировании и вставке или дублировании заготовок в редакторе уровня дочерние заготовки и дочерние модули, относящиеся к базовому ресурсу заготовки, будут неверно помечены как полностью переопределённые.
Компоненты сеток, звука и эффектов частиц генерируются в Verse только для ресурсов, которые вы импортируете в свой проект или создаёте в нём, дополнительно есть небольшой встроенный набор форм сеток. По умолчанию вы не можете использовать ресурсы Fortnite или FAB со Scene Graph.
После импорта новой сетки или звука в проект или создания нового ресурса системы частиц вам нужно собрать код Verse для проекта, чтобы сгенерировать класс компонента для этого ресурса, прежде чем использовать его с системой Scene Graph.
После добавления и изменения параметров в редакторе материалов или редакторе Niagara вам нужно будет собрать код Verse, чтобы эти изменения стали доступны на уровне редактора.
Если вы перемещаете, переименовываете или удаляете ресурсы сеток, звука или систем частиц в редакторе, вы можете потерять ссылки на сгенерированные экземпляры компонента в редакторе уровней, поскольку создаваемые при этом классы не могут использовать указатели перенаправления.
Компоненты, генерируемые ресурсом, не генерируются до тех пор, пока в вашем проекте не будет хотя бы один пригодный для сборки файл Verse, и вы не скомпилируете код Verse.
Scene Graph в действующей версии не имеет указателей перенаправления. Без указателей перенаправления переименование ресурсов может привести к следующему:
ссылки на объекты, на которые ссылаются другие объекты на панели «Сведения», моугт не работать. В этом случае их нужно будет указать их заново;
объекты, на которые ведут ссылки в коде Verse, будут вызывать ошибки компилятора, и эти ссылки нужно будет обновить вручную.
Новая система координат LUF влияет на существующий контент и контент Scene Graph. Любой существующий код Verse продолжит работать. Однако если вы хотите использовать тот же код со Scene Graph, вам придётся преобразовать старые типы /UnrealEngine.com/Temporary/SpatialMath в типы /Verse.org/SpatialMath. Появились новые функции преобразования, которые могут преобразовывать старые типы новые:
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")Включение Scene Graph изменяет некоторые из правил генерации кода для классов, генерируемых в
Assets.digest.verse. Это может привести к тому, что существующий код Verse больше не будет компилироваться. Прежде чем приступить к работе над проектом, вам нужно подкорректировать код Verse.Основные примеры
Verse# Assets.digest.verse MyMesh := class(mesh){} MyMaterial := MakeAsset(material, "MyMaterial.uasset") # YourVerseFile.verse SetMesh(MyMesh) SetMaterial(MyMaterial)После использования Scene Graph
Verse# Assets.digest.verse MyMesh_asset := class(mesh){} MyMesh := class(mesh_component){} MyMaterial := class(material){} # YourVerseFile.verse SetMesh(MyMesh_asset) SetMaterial(MyMaterial{})И компонент
tag_component, и системы событий сцены всё ещё находятся в разработке и являются экспериментальными. Не используйте эти функции, если хотите опубликовать острова, содержащие код Scene Graph.Модуль симуляции будет доступен только в том случае, если на уровне не размещался модуль Scene Graph.
Существует проблема, из-за которой классы Verse ссылаются на классы заготовок в переменных-составляющих. Это вызывает сообщения об ошибке при запуске редактора. Элемент
StaticAllocateObject()должен убедиться, что вы пытаетесь создать экземпляр абстрактного класса, и этот класс —Object.StaticAllocateObject()будет вызываться $InitCDO вашего класса Verse.Изменение типа значения объекта по умолчанию в классе компонента Verse между копированием и вставкой модуля приводит к импорту ссылки на экземпляр старого типа, даже если свойство не было переопределено.
Перезагрузка ресурса заготовки модуля с добавленными триггерами дочернего модуля активирует проверку
OldToNew.Value->HasAnyClassFlags(CLASS_TokenStreamAssembled).Рекомендуется, чтобы при использовании Scene Graph в отдельно взятый момент работал только один пользователь.
Только пользователи с правами администратора для их команды авторов могут создавать новые репозитории URC для новых проектов.
Система предметов
В настоящее время после режима редактирования игроки не могут выбирать некоторые или все предметы в меню инвентаря. Эту проблему можно обойти, закрыв и перезапустив сеанс UEFN.
В настоящее время неигровые персонажи не могут использовать новые пользовательские предметы и инвентари.
Переназначенные клавиши не учитываются некоторыми вводами инвентаря.
Возможно, предметы были размещены не в том инвентаре.
Некоторые значки для привязки ввода геймпада отсутствуют при использовании контроллера.
Подбор модуля предмета может привести к сбою при перемещении игрока. Эту проблему можно обойти, закрыв и перезапустив сеанс.
Есть некоторые проблемы с интерфейсом и отображением инвентаря и предметов.