10 июн. 2024 г.

Scene Graph уже доступен как экспериментальная функция в UEFN

Объявленный ранее Scene Graph уже доступен в UEFN в качестве экспериментальной функции! Экспериментальный выпуск даёт вам возможность опробовать новый функционал, пока он ещё дорабатывается.

Пока не знакомы с графами сцены? Графы сцены обеспечивают единую структуру, связывающую все объекты на острове. Они упрощают создание, управление, повторное использвание элементов и игровых процессов, а также разработку уровней вашей игры. В частности, эти графы могут быть полезны при работе в среде, наполненной большим количеством контента (или с играми, требующими более сложного взаимодействия, например платформерами, метроидваниями или экшен-играми в духе Deathrun). Если вы хотите создавать более наполненные и атмосферные острова Fortnite, эта функция для вас.

Мы хотим заранее предложить вам новые инструменты и совершенствовать их на основе вашей обратной связи. С выпуском экспериментальной функции Scene Graph вы сможете опробовать её предварительную версию, но не сможете публиковать созданные с её помощью острова, пока она не появится в раннем доступе. Сроки релиза пока ещё уточняются, но скоро мы о них объявим. Тем не менее, этот экспериментальный выпуск даёт вам возможность освоить совершенно новую базовую функцию, которая, как мы думаем, прочно войдёт в экосистему разработки и метавселенную в целом.

UEFN 30 10 SceneGraph Blog InLine 1920x1080
 

Scene Graph в деталях

Scene Graph включает в себя три ключевых концепции: компоненты, модули и заготовки. Они позволяют создать структуру вашего контента так, чтобы его легко можно было упорядочить и понять. А ещё вы легко сможете использовать копии однажды созданного ресурса в различных частях игры, без труда внося изменения во все экземпляры сразу или в каждый по отдельности.
 

Компоненты

  • Компоненты содержат данные и логику вашей игры.
  • Они могут быть простыми, как преобразование или сетка, либо сугубо логическими, например как сценарий Verse.
 

Модули

  • Модули— это контейнеры для компонентов.
    • Например, модуль может быть объектом, таким как факел, содержащим все компоненты, составляющие факел, включая визуальные и звуковые эффекты и освещение.
  • Модули объединяются в иерархию, которая позволяет вам создавать подобъекты, связанные с родительским объектом. Такая связь обуславливает время жизни объекта: если родительский элемент будет удалён, дочерний тоже исчезнет.
  • Вы можете убрать модуль из сцены, уничтожив его. Если он больше не нужен, то это освободит память. Либо вы можете удалить его из сцены, отменив связь с родительским элементом, и также легко вернуть его, снова указав родительский элемент.
 

Заготовки

  • Заготовки— это несколько модулей и их компоненты, сгруппированные в один класс.
  • Это самый высокий уровень структуры Scene Graph.
  • На уровне Verse заготовка— это класс, наследующий от модуля, который содержит все модули, добавленные в заготовку.
  • Заготовки можно создавать в Verse, что позволяет легко делать множество копий.
  • Уничтожение или отвязка от родительского элемента удаляет всю заготовку из сцены. Повторное назначение родительского элемента возвращает всю заготовку, а назначение нового родительского элемента переносит всю заготовку под этот модуль.
  • Изменения могут применяться как ко всем экземплярам заготовки сразу, так и только к отдельным, остальные экземпляры при этом останутся без изменения.
  • Вы также можете вкладывать одни заготовки в другие.
  • Создавать и изменять заготовки можно с помощью «Редактора заготовок» или Verse.
 

Посмотрите выступление, посвящённое Scene Graph с конференции GDC2024, чтобы подробнее узнать, что это такое, и как с помощью таких концепций, как заготовка, создавать в UEFN сложный игровой процесс и насыщенные контентом миры становится проще, чем когда-либо.
 
 

Хотите узнать больше о Scene Graph? Почитайте новую документацию к Scene Graph и попробуйте новый шаблон «Заготовки» в редакторе, чтобы всё увидеть наглядно!
 

Часто задаваемые вопросы о Scene Graph

Что такое Scene Graph?

Scene Graph в UEFN— это единая структура, объединяющая все объекты в сцене. Она позволяет представить, что и как должно быть в сцене, а код может проходить по графу, выполняя операции, связанные с объектами. Это очень похоже на объектную модель документа (DOM), используемую в веб-программировании. На данный момент в Unreal Engine акторы и компоненты акторов выполняют роль графов сцены.
 

Как это повлияет на существующий рабочий процесс UEFN, основанный на устройствах?

Вы по-прежнему можете создавать игровой процесс, построенный на устройствах. В UEFN вы можете использовать и Scene Graph, и устройства в одном и том же проекте. Устройства выступают в качестве «кирпичиков» при создании игрового процесса, выстраиваемого с заранее заданными параметрами, а в сочетании с другими устройствами и кодом Verse могут реализовывать на ваших островах сложные модели взаимодействия. Scene Graph позволяет составлять заготовки, в которых механизмы игрового процесса, прописанные с помощью Verse, и компоненты других типов сочетаются в виде пакетов контента, которые можно использовать многократно. Они похожи на существующие устройства, но с их помощью гораздо проще выполнять копирование и редактирование, и их проще расширить с точки зрения типа контента и функционала, чем устройства. Мы разработали компонент-мост, обеспечивающий ограниченное взаимодействие между устройствами и Scene Graph. Он позволяет авторам встраивать существующие элементы игрового процесса в граф сцены.
 

Что значит «Scene Graph— это экспериментальная функция»?

Scene Graph сейчас на этапе эксперимента. Вы можете опробовать его возможности, оставить обратную связь и увидеть, как мы планируем развивать его. В настоящий момент вы не можете публиковать острова, созданные с использованием Scene Graph. Помните— обратная совместимость ресурсов, созданных на экспериментальном этапе, не гарантируется. API для этих функций могут меняться, мы можем полностью удалить экспериментальные функции или отдельные их части по своему усмотрению.
 

Почему я пока не могу публиковать проекты, созданные с использованием Scene Graph?

Публикация проектов, в которых задействуются экспериментальные функции, отключена. Вы сможете опубликовать проекты, в которых использовалась такая функция, как только она выйдет в полноценном релизе или появится в раннем доступе.
 

Какие ограничения действуют для экспериментальной версии Scene Graph?

Список известных проблем для этой экспериментальной функции вы можете найти здесь. Если вы хотите поделиться обратной связью или столкнулись с проблемой, которой нет в списке, сообщите о них на форуме.
 

Где найти более подробную информацию?

Вы можете посмотреть видео Inside UEFN Scene Graph | GDC 2024 на канале Unreal Engine в YouTube или посетить новую страницу документации к графу сцены.