Как сделать здание в unreal engine 4

Обновлено: 01.07.2024

Я только начал использовать Unreal Engine 4, но всякий раз, когда я выбираю Object в качестве родительского класса для моего нового проекта, у меня нет никакого конструктора (например, функция Construction Script для Actor)

Как я могу создать конструктор?

Я не хочу использовать Actor, потому что класс хранит данные оборудования для моего персонажа.

Боюсь, это невозможно. Сценарий с технической точки зрения не является конструктором, как вы знаете из C++. Это несколько вводящее в заблуждение имя.

Технически C++ эквивалент для сценария строительства - это AActor :: OnConstruction(), а не класс Constructor.

Вы также должны учитывать тот факт, что UObjects не реплицируются по умолчанию. В будущем, если вы хотите, чтобы ваш инвентарь был реплицирован, вам нужно либо переключиться на Актеры (что не так хорошо), либо записать его в C++, где вы можете явно указать, какие UObjects должны реплицироваться как часть Актер или Актер Компонент.

Вот плагин Inventory, который я разрабатываю. Это все еще WIP, но теперь реализована базовая функциональность, и она должна работать с версией 4.6. Сейчас это комбинация C++ и Blueprint. Я также рекомендую перестроить его из исходного кода, если вы хотите его попробовать, поскольку бинарные файлы по умолчанию строятся против исходной версии движка.

Это должно дать вам хорошую отправную точку, чтобы либо увидеть, как все будет сделано, либо просто использовать ее.

Сегодняшний выпуск подготовил Андрей Дьяков, Associate Technical Director в Sperasoft.


В своей подборке я хочу рассказать об ассетах и плагинах, которые использовались мной в моих проектах. Они будут полезны не только программистам, но и широкому кругу специалистов, работающих с Unreal Engine 4.

Начну с Blueprint-ассета – Smart Spline Generator. Штука невероятно полезная в первую очередь для дизайнеров уровней, особенно если нужно протягивать веревочные мосты между парящими островами, провода между столбами, проводить железную дорогу в горах и делать прочие специфические штуки.

Ассет генерит сплайны с учетом коллизии в игровом мире, позволяя в считанные минуты прототипировать вышеперечисленные виды объектов. Но это лучше увидеть самому, а еще лучше поработать с этим.

Обычно приходится создавать новые инстансы через основной объект, что накладывает ограничения на скорость и удобство работы. Но с данным плагином дизайнер уровней может наполнять игровой мир объектами, используя все преимущества и удобства редактора, и уже после конвертировать все эти объекты в InstancedStaticMesh. Также плагин предоставляет дополнительные возможности для редактирования уже сконвертированных объектов.


С этим Blueprint-ассетом я начал свое знакомство еще в то время, когда его автор, Kodi Mynatt, выкладывал на youtube серию уроков о создании следов на снегу. В то время я как раз работал над адвенчурой в зимнем сеттинге и рассматривал разные варианты реализации продавливаемых сугробов. Подход автора был прост: массив Sphere Mask + тесселяция (в то время в движке еще не было поддержки DrawMaterialtoRenderTarget).

Это не было максимально гибким решением, но свою задачу оно выполняло отлично и очень быстро реализовывалось. Впоследствии Kodi сделал на основе этого более мощный и расширенный ассет для быстрой имплементации следов на разных поверхностях (снег, песок, гравий, трава), а также реализовал эффект провисания поверхности под тяжестью персонажа по аналогии с натянутой сетью или полотном.

К сожалению, Kodi Mynatt покинул наш мир ранее в этом году, поэтому на странице магазина указана версия движка 4.14, как последняя поддерживаемая, однако на самом деле ассет прекрасно работает на 4.15 и 4.16, а на 4.17 работает после нескольких незначительных исправлений в Blueprint’e.


Напоследок я расскажу о собственном ассете. Он призван помочь мобильным разработчикам имплементировать все возможные механики управления игрой/приложением на Unreal Engine 4 с помощью пальцев.

Данный ассет отмеживался от одного из моих собственных мобильных проектов, где мне требовались гибко настраиваемые виртуальные стики с разным поведением.

Поскольку в built-in джойстиках ничего подобного не было и нет, было принято решение реализовать все с нуля. Именно этот функционал вошел в релизную версию ассета, который сперва назывался Custom Touch Controls. Однако чуть позже мне потребовались жесты свайпа (swipe) и увеличения (pinch to zoom) и я решил добавить данный функционал в уже существующий ассет, выпустив второй апдейт со сменой названия на актуальное.

Затем, уже в третьем апдейте, по просьбам покупателей, я реализовал дополнительный функционал: тап (tap), двойной тап (double tap), тап двумя пальцами (two fingers tap), двойной тап двумя пальцами (two fingers double tap), передвижение по тапу (tap to move), передвижение по свайпу (swipe to move) и многое другое.

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

Несмотря на то, что я продаю все же именно компоненты, я постарался реализовать практически все механики управления, которые можно увидеть в мобильных играх в наше время.


Какой будет следующая революционная технология пока неизвестно. Один из правдоподобных вариантов — использование игровых движков.



Unreal Engine 4 сильно повлиял на игровую индустрию: его использовали при создании Fortnite, Hellblade: Senua's Sacrifice, Gears 5 и сотен других игр.

Но он полезен и за пределами игровой индустрии — в дизайне интерьеров или даже в кинематографе.


От конкурентов UE4 отличает фотореалистичная графика и огромная библиотека ассетов — движок позволяет создать проработанный и детализированный фон, который практически неотличим от реального.

Ещё одно важное преимущество — быстрый производственный процесс.

Как Unreal Engin используют в кино

Важная особенность UE4 — инструмент под названием Sequencer. Он решает задачи в реальном времени: перемещает фрагменты сцены, подбирает подходящие объективы, настраивает освещение и устанавливает фокусировку.

Благодаря Sequencer самым популярным способом применения UE4 на съёмках стало создание реалистичного фона. Технологию можно использовать как хромакей — в реальном времени, поэтому теперь это занимает не несколько часов, а всего пару минут и несколько кликов. Иногда специалисты по спецэффектам дорабатывают сцены на постпродакшне, но часто даже этого не требуется: хватает рендера в реальном времени.

В создании фонов помогает шаблон UE4 под названием nDisplay: он позволяет проецировать изображение сразу на несколько экранов или поверхностей. Сгенерированные фоны транслируются на огромные LED-экраны и создают иллюзию, будто актёры находятся внутри этого пространства. Процесс напоминает такие классические для кино методы, как рирпроекция и фронтпроекция (приёмы комбинированной съёмки, в которых фон проецировался на экран позади актёров), только без свойственных им недостатков, вроде теней от съёмочной группы и несовпадения деталей.


Ещё один полезный для кино инструмент — технология Stagecraft, которая создаёт и меняет реалистичное окружение прямо на съёмочной площадке.


UE4 помогает кинематографистам и в предварительной визуализации. Здесь роль играют не только классические возможности движка, которые позволяют заменить раскадровки реалистичной анимацией, но и специальный шаблон под VR-проекты. Надев очки, актёр может взаимодействовать со сгенерированной средой в реальном времени, что помогает точно распланировать его движение в кадре.

На конференции разработчиков игр GDC Epic Games представили действительно футуристичную технологию на базе UE4. Движок рендерил уже не фон внутри программы, а физический объект в реальном времени — автомобиль Chevrolet Camaro ZL. Для этого использовалась реальная модель авто без кузова, но с каркасом и нанесёнными на него QR-кодами.

В каких проектах использовали Unreal Engine

Пока что использование UE4 в кино — всё ещё редкость. Первопроходцем здесь в очередной раз стала Disney, которая всегда одной из первых применяла новые технологии — от ротоскопирования до 3D-анимации.



Фактически, фильм был изначально полностью поставлен в VR, чтобы во время настоящих съёмок команда могла отталкиваться не от раскадровок, а от анимации с готовыми светом, цветокоррекцией, операторскими приёмами и так далее. Теперь больше не требовалось подолгу искать общий язык с VFX-художниками и присылать им правки. Вся графика уже перед глазами режиссёра, а заметки для пост-продакшна выглядят максимально наглядно. Этот опыт сильно повлиял на Фавро, — он окончательно убедился в эффективности своего новаторского подхода.


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


Джон Фавро

Для актеров это было здорово, потому что они могли ходить по съёмочной площадке, и даже в случае использования интерактивных проекций попадать в среду, где они видят всё окружение. На эти светодиодные стены не стоит смотреть с близкого расстояния, но они всё равно полезны для периферического зрения во время работы. Вы всегда знаете, где горизонт, ощущаете освещение на себе. И вам даже не нужно настраивать свет на площадке, ведь вы получаете много интерактивного света от этих светодиодных стен.



Полнометражный анимационный фильм на базе UE4 тоже не за горами. Epic работают над проектом под названием Troll, который создаётся с применением технологии трассировки лучей. В главной роли – Алисия Викандер.

О процессе создания анимационных фильмов в UE4 подробно рассказали 3D-художники, работавшие над короткометражкой Fragment — в их гайде описаны все этапы производства.

Каково будущее Unreal Engine в кино

Фавро и другие режиссёры, которые использовали технологию, сходятся во мнении, что UE4 значительно повлияет на будущее кинематографа. Движок становится проще и удобнее для рендеринга, что позволяет добиваться высокого качества эффектов без лишних затрат.

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


Хорошо справляюсь с проектами ролевых игр от третьего лица, берусь за небольшие задачи вроде создания способностей герою, анимаций, (анимационный blueprint), способность персонажей применять оружие, и программировать логику действий персонажа. В общем техническая реализация ваших художественных идей)

Хорошо работаю с Advanced locomotion system v4. Могу помочь решить задачу с этой системой

Предоставить подробное описание вашего видения элемента игры, который нужно сделать.

Вы можете прислать свой проект, на доработку элемента, или попросить сделать отдельно :)

Читайте также: