Назад

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

10 июн. 2024 г.

Разработчики Fortnite

Объявленный ранее 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 с конференции GDC 2024, чтобы подробнее узнать, что это такое, и как с помощью таких концепций, как заготовка, создавать в 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 или посетить новую страницу документации к графу сцены.