Друзья, приветствую. Недавно была анонсирована новая версия игры Rocket League, которая, по имеющейся информации, будет использовать новую версию движка Unreal Engine 6. А это значит, что сам UE6 уже действительно находится в активной разработке и, вероятно, через некоторое время будет официально представлен, а затем станет доступен для первых тестов.
Также рекомендую скачать мою бесплатную книгу по Blueprint для Unreal Engine.
Основная цель книги — дать общий, целостный и понятный обзор системы Blueprint. Книга предлагает взгляд с высоты «птичьего полёта» — ясную и чёткую карту игрового мира Unreal Engine, которая поможет увидеть ключевые взаимосвязи и понять, как устроена система визуального скриптинга.
Зарегистрироваться в ЛК и скачать книгу [Blueprints. Взгляд с высоты «птичьего полёта»]
Точной даты релиза пока нет, но очевидно, что движок постепенно приближается к публичному анонсу. Естественно, в UE6 появится множество новых технологий, однако нас, Blueprint-программистов, в первую очередь интересует другое — что изменится в программировании на Blueprint?
Пока точного ответа нет, и полноценные выводы можно будет делать только после релиза нового движка. Но поскольку UE6 во многом создается на основе идей UEFN, уже сейчас можно предположить, каким станет Blueprint-программирование в будущем.
Важно: текст ниже — это не официальный материал по UE6. На данный момент такого справочника попросту не существует. Это лишь мои предположения и выводы, основанные на информации, доступной в сети. В каких-то моментах я могу ошибаться.
Свои мысли по этой теме я буду публиковать постепенно — возможно, в формате нескольких небольших постов, а возможно, ограничусь одним большим материалом. Пока же хотелось бы концептуально разобраться, что именно может измениться в Blueprint-подходе.
Проблемы текущего подхода UE4 / UE5
Если вспомнить Unreal Engine 3 и его визуальное программирование Kismet, то там практически всё строилось вокруг единого кода уровня, внутри которого реализовывалась вся логика: персонажи, двери, интерактивные объекты и многое другое.
В UE4 и UE5 подход кардинально изменился. Появилась система Blueprint-классов и полноценный игровой фреймворк с жесткой иерархией классов, где каждый класс отвечал за строго определённый набор задач. Например:
- Actor — базовый класс объекта, отвечающий за размещение на уровне, компонентную структуру и жизненный цикл.
- Pawn — добавляет возможность управления объектом через Controller, а также работу с вводом и компонентами движения.
- Character — расширяет Pawn функциональностью, ориентированной именно на персонажей: вертикальной капсулой, Character Movement Component и другой специализированной логикой.
И здесь появляется одна из главных проблем текущего подхода. Классы фреймворка достаточно сильно перегружены. Например, класс Character в UE4/UE5 содержит огромное количество встроенного C++-кода и систем — буквально тысячи строк логики, значительная часть которой жестко встроена в архитектуру движка и не может быть просто «отключена».
В результате разработчики в UE4–UE5 оказываются достаточно сильно привязаны к существующему фреймворку и его тяжёлым базовым классам.
Например, чтобы создать 100 персонажей, обычно используется 100 объектов класса Character. Но Character содержит огромное количество встроенного функционала, значительная часть которого может вообще не использоваться в конкретном проекте. То есть разработчик нередко задействует лишь 10–20% возможностей класса, при этом оплачивая производительность и сложность всей остальной системы. Это приводит к избыточности, снижению гибкости и сильной зависимости от архитектуры движка.
Именно эту проблему, судя по всему, и пытается решить Unreal Engine 6 — дать разработчику больше свободы, позволяя собирать объекты только из действительно необходимых компонентов.
Новая компонентная архитектура UE6
Сейчас Epic Games активно развивают систему Scene Graph, которая уже доступна в экспериментальном режиме внутри UEFN. И именно она, вероятно, станет фундаментом новой архитектуры UE6. По сути, речь идет о переходе к композиционному подходу на базе ECS (Entity—Component—System), где вместо жесткого наследования используется композиция. То есть вместо выбора «правильного» базового класса разработчик будет создавать пустую Entity-сущность и самостоятельно собирать ее из компонентов.
Иными словами, вместо создания одного монолитного «Blueprint-персонажа» логика будет собираться из отдельных независимых компонентов.
Сейчас в UE4–UE5, чтобы создать персонажа, разработчик практически обязан наследоваться от Character. Вместе с этим автоматически добавляются капсула, Skeletal Mesh, Character Movement Component и множество других систем — даже если проекту они не нужны в полном объёме.
В UE6 подход может измениться. Разработчик будет создавать пустую Entity-сущность и самостоятельно добавлять к ней только необходимые компоненты: Transform, Collision, Mesh, Movement и так далее. Если объекту не нужна капсула — например, это рой насекомых или нестандартное существо — её просто не добавляют. Если не нужен тяжёлый Character Movement Component, используется собственная более лёгкая система движения. Именно это и является главным преимуществом композиционного подхода: объект больше не тащит за собой «наследственный мусор» в виде ненужных систем и функциональности.
При этом все текущие знания по Blueprint останутся актуальными: коллизии, трассировки, анимации, взаимодействие компонентов — всё это никуда не исчезнет. Сам Blueprint тоже останется, но изменится философия его использования.
По сути, это будет очередной архитектурный переход, похожий на тот, который уже происходил при смене UE3 на UE4. Только теперь движение идёт в сторону более гибкой Entity-архитектуры, где каждая сущность получает только ту компонентную структуру, которая действительно необходима. Сами же компоненты, вероятнее всего, по-прежнему будут активно описываться через Blueprint. В результате Blueprint-системы станут легче, модульнее и гораздо удобнее для переиспользования между разными типами сущностей.
И основная моя мысль по этому всему поводу такая — Unreal Engine движется в сторону модульности, чтобы исключить избыточность базовых классов.
Но Entity-подход — не единственное концептуальное изменение. В UE6 также ожидается появление нового языка программирования Verse. В итоге крупные профессиональные проекты, скорее всего, будут строиться на сочетании сразу трёх технологий:
- C++,
- Verse,
- Blueprints.
И именно взаимодействие этих трёх уровней программирования, вероятно, станет основой архитектуры будущих проектов на Unreal Engine 6. Но о Verse мы уже поговорим в следующий раз.
Напоминаю про мою бесплатную книгу по Blueprint для Unreal Engine.
Основная цель книги — дать общий, целостный и понятный обзор системы Blueprint. Книга предлагает взгляд с высоты «птичьего полёта» — ясную и чёткую карту игрового мира Unreal Engine, которая поможет увидеть ключевые взаимосвязи и понять, как устроена система визуального скриптинга.
Зарегистрироваться в ЛК и скачать книгу [Blueprints. Взгляд с высоты «птичьего полёта»]










