движок unreal engine что это
Unreal Engine 4 для развития своих способностей
Доброго времени суток, Хабр!
В этой статье я бы хотел поговорить с вами о недавно вышедшем Unreal Engine 4, который на данный момент набирает все большую популярность среди разработчиков игр. И хотя статья о UE4, однако она совсем не про игростой, хоть и связана с ним.
Я бы хотел обратить ваше внимание на другую сторону Unreal Engine 4, которая будет несомненно полезна тем, кто собирается выбрать свой путь в жизни и обучаться разработке. Речь об образовательных способностях данного движка.
Саму статью я бы хотел разделить на две основные части: Программирование с логикой и Дизайн с творчеством. Но прежде скажу пару слов о себе, что бы вы понимали, почему именно этот движок и что меня натолкнуло на эту статью.
Итак, приступим.
О себе
Меня зовут Александр и мне сейчас 20 полных годиков. Вся жизнь ещё впереди и самое время определиться со своим будущим. Года три назад я начал увлекаться 3х-мерным моделированием и к сегодняшнему дню, на мой взгляд, добился хороших результатов. Ещё с детства я любил играть во всякие компьютерные игры и, как и многие, мечтал сделать что-то подобное. Поэтому моя специальность направлена в основном на real-time моделирование.
Однако для создания полноценных игр мне этого не хватало, так как я не знал языков программирования, хотя мат. мышление было на хорошем уровне. Я пытался познать PHP, C++, Lua, RubyOnRails, JS. Но максимум, на что меня хватило, это Jquery, да и тот через неделю после курса умудрился забыть. Все это довольно таки разочаровывало, но я не сдавался, продолжая тем временем совершенствовать свои способности в 3х-мерной графике.
Меньше года назад вышел UE4 и я, как поклонник Unreal Tournament и самого Unreal Engine, очень обрадовался. Побежал учить. Тут я бы хотел проводить вас к следующим пунктам, которые расскажут, что может дать UE4, помимо самих игр.
Программирование и логика
Как некоторые знают, в движке можно писать игровую логику на С++, а так же с помощью визуальной системы программирования — Blueprint. Для тех, кто не знает, выглядит она так:
Алгоритм сортировки (методом вставки) по цене предметов в инвентаре
Как раз об этой системе я и хотел бы с вами поговорить. Будем называть её «Блупринт».
Блупринты — это визуальный скриптовый язык, который позволяет написать логику игры без применения языков программирования. Каким бы сложными или простым он не казался, он остается довольно таки мощным инструментом, на котором можно создать почти что угодно, от простенького персонажа или открытия дверцы до процедурной генерации уровня.
Когда в первый раз его увидел, я был очень рад, что смог повторить попытку изучения программирования на данной системе. И действительно все пошло куда лучше, чем с текстовыми языками. Я начал с простых вещей. Переменные, простые функции, что куда соединять и все в таком духе. Тогда (это было летом 14-го года) я ещё не очень хорошо соображал, как правильно организовывать работу, как правильно и оптимизированно строить алгоритмы. Но постепенно я стал осваиваться в данной системе.
Через какое-то время стал делать простенькие игрушки. Стал разбираться в классах, в коммуникациях между отдельными объектами, миром и глобальными классами. Тут-то я заметил, что становлюсь настоящим программистом — после компиляции Блупринтов и запуска с проверкой все работало как надо. Счастья было очень много.
Через какое-то время я начал вникать в более сложные вещи и понимать, что все могу написать лучше и более оптимизированно. Таким образом я переписывал свою систему инвентаря (часть которой на скриншоте) не менее трех раз, чтобы добиться наилучшей работы. Да и сейчас продолжаю улучшать, так как система в свободном доступе. На данный момент в Блупринтах разобрался очень хорошо и могу сделать почти все, что угодно (в разумных пределах, конечно).
В итоге данная система научила меня не только работать с ней же, но и очень хорошо дала понять, что нужно строить логику грамотно, оптимизированно и обдуманно, и как это делать. Так же очень хорошо развила логику в сфере построения алгоритмов.
Таким образом, начинающие игроделы, программисты, или просто люди, которые заинтересованы в том, что бы сделать что-то свое, могут без труда обучиться не только работе с Блупринтами, но и узнать много новых вещей, не говоря уже о развитии логики.
Давайте взглянем на другой пример — Материалы:
Тут работа происходит таким же образом, однако нету никаких логических последовательностей, только математика.
С помощью математических операторов и текстур вы строите материал, который в последствии будет наложен на какой-либо объект в вашей сцене. С самого начала может быть не понятно, и зачем это все вообще нужно, однако, как это ни странно, данная система оказывается очень полезной для того, что бы создавать нужные или даже генерируемые материалы.
Давайте возьмем простенький пример: у материала может быть цвет и гладкость; у вас есть текстура, на которой изображены различные делали вашего предмета, и она вся красивая и радует глаз. Но наложив на модель просто текстуру, вы понимаете, что тут чего-то не хватает. Точно! Вот эта часть должна быть гладкая и отражать мир вокруг, а вот эта делать наоборот матовой без каких либо отражений. Тут вам может пригодится математика, что бы из вашей текстуры сгенерировать черно-белую карту, где белый цвет будет означать матовую часть, а черный — гладкую.
Изучав материалы и принцип их работы, можно добиться хороших успехов и в алгебре. Да и не только в ней, но и опять же в самой логике, так как все формулы нужно придумывать самому.
Вот пример материала, который генерирует цвет, металические делали, гладкость в нужных местах и даже рельеф. Все это из одной текстуры:
Конечно, текстура не обычная, а специальная, но суть в том, что после изучения системы и небольшого опыта, вы научитесь строить самые невероятные вещи.
Подытожив часть логики и программирования, хотел бы сказать, что с помощью даже этих двух инструментов, любой человек сможет развить в себе логическое мышление и рано или поздно научиться строить такие системы, о работе которых он не имел не малейшего понятия. Ну и даже написать свою игру ему не составит труда, а с этим опытом можно спокойно идти учить более мощные языки программирования, или хотя бы иметь представление о будущем в подобной сфере.
Дизайн и творчество
Вам когда-нибудь хотелось построить свой дом, походить в нем? Снять свой фильм? Или просто создать красивую или мрачную сцену что бы выплеснуть накопившиеся эмоции? Если да, то Unreal Engine 4 вам тоже сможет чем-то помочь.
Вот несколько впечатляющих роликов, демонстрирующие графические возможности:
А так же в сфере визуализации архитектуры:
Конечно, тут не обошлось без красивых 3д моделей, анимации и всего прочего. Однако я хотел подметить особенность графики, которую может выдавать этот движок в реальном времени.
Сам же Unreal Engine 4 предоставляет некоторый набор, благодаря которому можно создать что-то свое, не прибегая к стороннему софту (не считая текстур). Не хочу вдаваться в подробности, которые вы сами сможете изучить, если заинтересуетесь, однако упомянуть все же стоит.
Внутри редактора существует инструмент, под названием BSP, благодаря которой вы можете спроектировать сцену. Хотя инструмент и предназначен для проектирования, а не для финального результата, но с помощью него можно сделать несложную модель и даже сконвертировать её для того, что бы она могла подвергаться физике. Можно сделать дом, забор и тому подобное. Что угодно, на что хватит терпения, так как инструмент пока что не самый удобный в использовании.
Так же предоставляется инструментарий для создания ландшафтов, с помощью которого возможно сделать довольно красивый пейзаж и населить его теми самыми моделями, а так же растительностью и какими-то дополнительными деталями. Добавив немного пост обработки, с которой, кстати, работать не так-то трудно, можно получить замечательную картину природной сцены. Тут уже зависит от вашего воображения.
Для тех, кто знаком с 3х-мерным моделированием, в UE4 будет ещё больше возможностей. Простота в импортировании (через формат FBX), простота установки, наложение материалов, да и их создание тоже не такое сложное, если разобраться, работа со светом, запекание и многое другое.
Сам я тоже создаю 3D модели и заметил за собой, что все время хочется проверить, как модель будет выглядеть внутри движка. И, признаюсь, качество не уступает современным рендерам.
Работа пользователя The_Distiller с официального форума
Конечно стоит учитывать, что рендеринг происходит в реальном времени, и не все всегда настолько реалистичный, какой мог бы быть, но плюс здесь в том, что вы можете свободно перемещать камеру для просмотра под любым углом.
Конечно, тут можно придумать ещё множество преимуществ. Например, визуализация архитектуры в реальном времени на примере видео, что было выше. Снятие красивых 3д роликов без многочасового рендера. Даже есть поддержка VR очков, благодаря чему можно сделать виртуальный тур. А представьте, если этот тур будет по той реалистичной квартире? Словом, для творческих людей тут тоже найдется местечко.
Подводим итоги
Несмотря на то, что Unreal Engine 4 является движком для создания компьютерных игр, его можно использовать в самых различных целях. В данной статье я хотел выставить его со стороны образования и как личного помощника в развитии своих мыслительных способностей. Не хочу судить свой текст, однако я постарался расписать максимально понятно для людей любого возраста и профессии и, надеюсь, в будущем движок поможет очень многим, в том числе юному поколению.
Конечно, не стоит рассматривать UE4 как набор кнопок «сделать все хорошо». Инструмент очень мощный с впечатляющим функционалом, поэтому изучить все и сразу тоже не получится. Однако если вы сумеете поставить себе стимул и наберетесь достаточно терпения, то все у вас получится!
Сам я изучаю UE4 не больше 7-ми месяцев и преуспел во многих сферах внутри редактора, даже открыл свое сообщество. Однако ещё много чего не изучено, поэтому в будущем от меня могут быть дополнительные статьи. Если и эта статья вам понравится, конечно.
Unreal Engine 4 — один из самых популярных движков. Почему?
Unreal Engine 4 используют как крупные компании, так и небольшие инди-студии. На UE4 созданы Final Fantasy VII Remake, Returnal, Gears 5, Borderlands 3, Fortnite, Abzû, Observer и многие другие игры.
Узнали у геймэнтузиаста Владимира Семыкина и преподавателя курса «Геймдизайнер» Антона Токарева, в чём же причины такой популярности Unreal Engine и что лучше для начинающего разработчика игр — Blueprints или C++.
Gears 5 — шутер канадской компании The Coalition, — использует движок UE4
Есть несколько причин большой популярности UE4.
Во-первых, UE4 поддерживает большое количество функций, благодаря чему в нём можно создать практически любую игру.
Во-вторых, в Unreal Engine 4 есть встроенная система визуального скриптинга, которая позволяет без особых препятствий выстраивать игровую логику даже новичкам.
Также в Unreal Engine 4 есть возможность сделать игру, которая запустится на всех популярных платформах: PlayStation, Xbox, Switch, ПК, iOS, Android.
А ещё у движка огромное сообщество пользователей, которые создают обучающие материалы, делятся друг с другом опытом и помогают решать проблемы. Дополнительный плюс большого сообщества — множество игровых ассетов, доступных для свободного использования в своём проекте.
Epic Games постоянно устраивает бесплатные раздачи ассетов, которые могут пригодиться при разработке игры
Большое преимущество Unreal Engine 4 в универсальности и доступности — его могут использовать как опытные разработчики, так и новички, которые впервые берутся за создание игры. Всё дело в том, что UE4 по умолчанию поддерживает сразу два языка программирования: текстовый C++, в котором нужно писать строчки кода, и визуальный язык Blueprints, в котором игровая логика выстраивается при помощи связанных между собой блоков. Такой подход помогает сделать программирование более наглядным и понятным для тех, у кого нет опыта.
«Blueprints разработала компания Epic Games, чтобы дать инструменты программирования людям, которые далеки от этого. Поэтому научиться работать с Blueprints очень легко. Конечно, необходимо получить минимальную теоретическую базу, например, разобраться, что такое переменные и как работает функциональное и объектно-ориентированное программирование.
Но и эту теоретическую базу можно изучать, применяя Blueprints. И даже без неё можно сделать что-то интерактивное, например, кнопку, которая открывает дверь. Язык Blueprints крайне прост в освоении, и в нём есть много решений, которые делают его применение удобнее. Например, цветовая индикация различных типов переменных», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Apella Games.
Пример логики для шарика, который отскакивает от препятствий и теряет скорость после каждого столкновения
Большое преимущество Blueprints в том, что с его помощью можно быстро собрать базовый геймплей для игры.
Несмотря на то, что Blueprints проще для понимания, такой скриптинг почти не уступает C++ по функциям — есть лишь несколько редких исключений, в которых Blueprints немного ограничен.
«Таких ограничений мало. Они упираются либо в невозможность изменить исходный код движка UE4 (для этого нужен C++) и базовых классов проекта, либо в производительность сложных математических расчётов, например, обработки таблиц данных сотен игроков в MMO.
Практически всё можно реализовать на Blueprints. Все принципы и подходы программирования, которые используют в текстовых языках (вроде C++), также можно применять и в Blueprints», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Apella Games.
Так выглядит программирование на C++, который представляет собой более традиционный текстовый язык — нужно писать строчки кода, а не соединять ноды
«Самое лучшее — совмещать работу в C++ и Blueprints. Например, структуры, которые состоят из групп переменных, и энумераторы (нумерованные списки) гораздо более стабильны, если созданы в C++. А вот их Blueprint-аналоги могут не пережить сложных изменений, к примеру, переименования или удаления нескольких элементов. И хоть это происходит редко, лучше избегать подобного и создавать их в C++.
Также любые сложные вычисления на C++ работают гораздо быстрее. Всё дело в том, что при запуске игры автоматически включается специальная виртуальная машина, которая исполняет все функции, созданные с помощью Blueprints. Отсюда и большее время обработки вычислений», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Apella Games.
Returnal — шутер финской студии Housemarque, вышедший на PlayStation 5 в апреле 2021 года, также использует движок Unreal Engine 4
Blueprints и C++ можно воспринимать как два последовательных этапа в процессе овладения Unreal Engine 4. Blueprints проще для восприятия и позволяет познакомиться с базовыми принципами программирования. А благодаря изучению C++ вы сможете разобраться, как всё это устроено изнутри.
«Изучая Blueprints, вы познакомитесь с основными классами и функциями самого движка, а углубляясь в C++ вы узнаете как они работают изнутри. Но пользуясь только Blueprints, у вас всё равно будет полный доступ ко всему, что вам может понадобиться для создания собственной инди-игры или интерактивного проекта», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Apella Games.
Abzû — приключенческая игра от студии Giant Squid, вышедшая в 2016 году. В качестве игрового движка используется Unreal Engine 4 — он помог разработчикам воссоздать движение косяков рыб, анимацию растительности и подводное освещение
Конечно, в студиях, состоящих из нескольких человек, владение UE4 требуется далеко не всем.
«Чаще всего непосредственно с редактором UE4 работают два вида геймдизайнеров: левел-дизайнеры и технические геймдизайнеры. Первые — собирают уровни, поэтому им необходимо знать инструментарий движка в контексте работы со сценой и объектами в ней. А также знать основы работы с Blueprints, чтобы заниматься скриптингом уровней — добавлять логику взаимосвязанных элементов уровня: вроде выключателей, дверей и так далее.
Вторые же прототипируют механики, создают инструменты для всех дизайнеров на проекте и выступают в роли мостика между командой дизайнеров и командой программистов. Они должны глубоко знать Blueprints, сам движок и понимать, как работает C++ и как он связан с Blueprints», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Apella Games.
Observer — психологический хоррор от польской студии Bloober Team. Разработка также велась на базе игрового движка Unreal Engine 4
Знание Blueprints может оказаться полезным для геймдизайнеров — это позволит быстро прототипировать и пробовать собственные идеи на практике. А C++ необходим для инженеров-программистов, для которых язык программирования — это основной инструмент в работе.
UE4 можно использовать и при соло-разработке. Часто инди-разработчики применяют чужие ассеты — это позволяет быстрее закончить игру, так как реализация отдельных механик может занять много времени. К счастью, в магазине представлены ассеты, сделанные как на Blueprints, так и на C++.
«Есть и Blueprints-ассеты, есть и C++ ассеты, а есть и плагины, которые написаны на C++. Есть ассеты на любой вкус! Например, ассеты на Blueprints очень полезно рассматривать изнутри — изучать, как они сделаны, и на их примере обучаться. Не все они созданы идеально, но поучиться всегда есть чему. Как минимум — как делать не надо, если вдруг там всё плохо.
Не рекомендуется использовать сторонние Blueprints-ассеты как базовые фичи своего проекта, потому что их сделали не вы. А это значит, что вы не можете быть уверены в том, что они работают как вам нужно. И зачастую их неудобно менять — особенно если автор продолжает выпускать обновления для них», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Apella Games.
В итоге, Unreal Engine 4 — один из самых популярных движков из-за нескольких важных преимуществ:
универсальность. UE4 можно использовать и для PlayStation, и для Switch, и для ПК, — буквально для чего угодно — это даёт нужную гибкость при разработке игры;
большая библиотекой ассетов;
простота входа из-за Blueprints. Правда, для профессиональной работы всё равно понадобится изучить C++;
хорошая задокументированность и поддерживаемость, активное сообщество с кучей opensource-инструментов;
возможность бесплатного использования для небольших проектов.
Владение Unreal Engine 4 открывает перед специалистом большие возможности. Он может сделать игру в одиночку, а может присоединиться к команде. При этом предыдущий опыт имеет не такое уж большое значение — начинающий разработчик без особых проблем сможете обучиться Blueprints, чтобы создать собственный проект. Это станет отличной базой для дальнейшего изучения C++, знание которого позволит ещё больше углубиться в создание внутренней архитектуры игры.
Разработчик игр на Unreal Engine 4: что умеет, сколько зарабатывает и почему UE4 — отличный выбор для начинающего специалиста
Чтобы собрать игру, нужна некая среда с определёнными техническими условиями и необходимыми инструментами. В качестве такой среды выступает игровой движок. Unreal Engine 4 — один из самых популярных движков, который используют как крупные компании, так и небольшие инди-студии. К примеру, на UE4 созданы Final Fantasy VII Remake, Returnal, Gears 5, Borderlands 3, Fortnite, Abzû, Observer и многие другие.
Узнали у Владимира Семыкина, автора направления «Геймдизайн» в Нетологии, об особенностях движка Unreal Engine, разнице между Blueprints и C++, а также насколько востребована профессия разработчика на Unreal Engine.
Энтузиаст геймдизайна, автор Нетологии
Почему Unreal Engine 4 — один из лучших движков для работы над играми
Есть несколько причин большой популярности UE4.
UE4 поддерживает большое количество функций, благодаря чему в нём можно создать практически любую игру.
В Unreal Engine 4 есть встроенная система визуального скриптинга, которая позволяет без особых препятствий выстраивать игровую логику даже новичкам.
Есть возможность сделать игру, которая запустится на всех популярных платформах: PlayStation, Xbox, Switch, ПК, iOS, Android.
У движка огромное сообщество пользователей, которые создают обучающие материалы, делятся друг с другом опытом и помогают решать проблемы. Дополнительный плюс большого сообщества — множество игровых ассетов, доступных для свободного использования в своём проекте.
Большое преимущество Unreal Engine 4 в универсальности и доступности — его могут использовать как опытные разработчики, так и новички, которые впервые берутся за создание игры. Всё дело в том, что UE4 по умолчанию поддерживает сразу два языка программирования: текстовый C++, в котором нужно писать строчки кода, и визуальный язык Blueprints, в котором игровая логика выстраивается при помощи связанных между собой блоков. Такой подход помогает сделать программирование более наглядным и понятным для тех, у кого нет опыта.
«Blueprints разработала компания Epic Games, чтобы дать инструменты программирования людям, которые далеки от этого. Поэтому научиться работать с Blueprints очень легко. Конечно, необходимо получить минимальную теоретическую базу, например, разобраться, что такое переменные и как работает функциональное и объектно-ориентированное программирование.
Но и эту теоретическую базу можно изучать, применяя Blueprints. И даже без неё можно сделать что-то интерактивное, например, кнопку, которая открывает дверь. Язык Blueprints крайне прост в освоении, и в нём есть много решений, которые делают его применение удобнее. Например, цветовая индикация различных типов переменных», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Dreamside Interactive.
Большое преимущество Blueprints в том, что с его помощью можно быстро собрать базовый геймплей для игры.