Как сделать vr игру на unreal engine 4
Добавил пользователь Владимир З. Обновлено: 09.10.2024
Кто бы что ни говорил, но сегодня движок Unreal Engine 4 один из самых востребованных. На нем выходит огромное количество игр, и опытные студии, несмотря на его возраст, создают проекты с потрясающей графикой. При этом находятся умельцы, которые не делают игру на UE4 с нуля, а решаются с его помощью воскресить старые тайтлы.
Это подборка лучших ремастеров на UE4 за последние годы, которые по графике ничем не уступают современным ААА-проектам. К сожалению, они вряд ли когда-то будут выпущены в качестве полноценной игры.
Ремейк The Battle for Middle-Earth точно не фейк – авторы показали геймплей, графику и мультиплеер
Юристы Electronic Arts еще не заинтересовались фанатским ремейком The Battle for Middle-Earth Reforged, поэтому мы можем смело любоваться на подвиги.
Grand Theft Auto: San Andreas
Начнем с GTA: San Andreas, потому что ремастер на UE4 именно этой легендарной игры облетел уже весь интернет. Только ленивый не находил ролики, в которых практически весь город сделали на новом движке, и получилось весьма достойно. Многие фанаты San Andreas по сей день уговаривают тех людей, которые занимались ремастером, выпустить его на консоли и ПК, но не получают никакого ответа.
В данный момент амбициозным ремастером на UE4 занимается команда ArcadiaSquad. Ребята возродили всем полюбившуюся игру для собственной машинимы. Машинима – это такие короткие ролики, которые делают на основе кадров из видеоигр. Изначально тем, кто увидел творение ArcadiaSquad, показалось, что они только вытащили из игры кат-сцены и переделали их на новом движке, но на самом деле команда проделала гораздо больше работы. Сейчас у них есть полностью переделанная карта San Andreas на UE4. К сожалению, создатели никогда не говорили о том, что публично выпустят полноценный ремастер, да и Rockstar это не нужно, поэтому любоваться обновленной GTA: San Andreas вы можете разве что на Ютубе.
Ремейк GTA: San Andreas на Unreal Engine 4 привел к битве Take-Two против разработчиков
S.T.A.L.K.E.R.
Пока GSC Game World вовсю пилит продолжение S.T.A.L.K.E.R., находятся умельцы, которые хотят возродить первую часть. Моддер под ником Ivan_Sorce уже неоднократно радовал фанатов серии скриншотами первой части S.T.A.L.K.E.R. на движке Unreal Engine 4. У него уже готова начальная деревня, которая должна стать частью полноценного фанатского ремейка.
10 лет ожидания подошли к концу – S.T.A.L.K.E.R. 2 получил официальный трейлер
The Legend of Zelda Ocarina of Time
Учитывая тот факт, что The Legend of Zelda Ocarina of Time считается одной из лучших игр серии, создание фанатского ремейка было просто неизбежным событием. Моддер с ником CryZENx уже несколько лет трудится над полноценным переизданием на движке UE4, правда использует он почему-то его старую версию 4.25.
В данный момент моддеру удалось воссоздать несколько локаций, реализовать сражение с врагами, взаимодействие с объектами и перенести на новый движок несколько диалогов с NPC. Выглядит ремастер потрясающе, и в сети помимо скриншотов уже есть и полноценные ролики. Причем CryZENx ведет подробный отчет о проделанной работе и регулярно выпускает новые обновления. В скором времени должно выйти 7 по счету обновление, но уже сейчас на это переиздание стоит взглянуть. Это тот случай, когда хотелось бы, чтобы труды CryZENx профинансировали и ему удалось выпустить полноценный ремастер известной игры. Фанаты были бы только рады.
Sonic 2020
По Сонику по сей день выпускают огромное количество игр, но большинство из них не являются платформерами. В какой-то момент синий еж стал настолько известным персонажем, что его, как и усатого водопроводчика Марио, начали пихать в любую игру. А о том, что изначально они фигурировали в отличных платформерах, разработчики, похоже, забыли. Моддер с ником BOLTrtg решил возродить классические игры по Сонику, которые перестали делать после Sonic: Lost World в 2013 году.
Он использует довольно популярный в наше время подход многосерийных игр. В данный момент на движке Unreal Engine 4 парень уже выпустил две части платформера, которые назвал просто Sonic. Сейчас ведется разработка третьей части, и создатель уже сообщил, что будет 4 эпизод. События проекта рассказывают о том, что происходило между Sonic: Unleashed и Sonic: Lost World. Проект Sonic 2020 обладает по-настоящему отменной графикой, и это тот случай, когда фанатская игра может зайти вам ничуть не хуже проекта от команды известных разработчиков.
Deus Ex
Deus Ex уже давно относится к одному из лучших проектов в стилистике киберпанка. В свое время она стала настоящим хитом и показала, что в играх может быть огромное количество возможностей, а прохождение полностью нелинейным. Как оказалось, над ремейком оригинального Deus Ex на движке Unreal Engine 4 уже вовсю трудятся фанаты игры. Причем они даже успели сделать полноценную демо-версию, которую реально найти в сети.
10 лучших игр в стиле киберпанк
В демке разработчики воссоздали только тренировочный уровень, который нам нужно было пройти в самом начале оригинальной Deus Ex. Удивляет то, что игра поддерживает эффекты трассировки лучей и продвинутую физику. То есть над ремастером поработали основательно, а не только частично улучшили текстуры.
Создатели утверждают, что они хотят сделать проект таким же красивым, как Mankind Divided, и одновременно таким же мрачным, как Deus Ex 2000 года. Таким образом они хотят, чтобы люди, которые по личным убеждениям не притрагиваются к играм 20-летней давности, все-таки это сделали. К сожалению, никакой поддержки от разработчиков серии Deus Ex команда моддеров не получила. Возможно, их проект даже прикроют создатели оригинала, но ознакомиться с демкой пока еще можно по данной ссылке.
Dino Crisis
Пока мы ждем, что хоть кто-то из именитых разработчиков сделает полноценный ремейк Dino Crisis, команда под названием Arklay уже несколько лет работает над ремастером первой части. Для этого они используют Unreal Engine 4 и регулярно подкидывают фанатам серии короткие тизер-трейлеры. Как стало известно, команда разработчиков делает проект практически с нуля. Таким образом, если ребята соберутся с силами, то стоит ожидать полноценного переиздания в новомодной обертке.
Пока довольствоваться можно только тизерами, которые демонстрируют несколько локаций и сражения с хищными ящерами. До полноценной демки еще далеко, но как минимум радует тот факт, что Capcom не запрещает команде Arklay продолжать работу, по крайней мере пока. Разработка началась в июле 2019 года, готовые результаты на UE 4 уже сейчас выглядят отлично, и видно, что графика в этом ремастере будет не хуже, чем в современных ААА-тайтлах. Остается только надеяться, что ребята все-таки выпустят хотя бы демку и подарят нам возможность насладиться перерождением одной из самых крутых серий от Capcom.
5 игр, которым нужен перезапуск на Next-Gen
Goldeneye 007 (1997)
Если говорить откровенно, то кроме Goldeneye 007 стоящих игр про Агента 007 никогда не выходило. При этом несмотря на успех данного проекта еще в далеком 1997 году, никто не додумался сделать ремейк или выпустить обновленную игру на современном движке. К счастью, так было только до октября 2018 года, когда за полноценный ремастер Goldeneye 007 взялась команда GoldenEye 25. Это фанаты проекта, которым надоело ждать. Учитывая тот факт, что команда не очень большая, она решила, что логичнее всего будет реанимировать старенький Goldeneye 007 на UE 4 и дать возможность фанатам харизматичного секретного агента поиграть в нее сегодня.
В данный момент GoldenEye 25 работает над переизданием только одной миссии из оригинальной игры. Они хотят выпустить ее в общем доступе летом 2022 года на ПК. Сейчас разработчики регулярно публикуют скриншоты с обновленной графикой Goldeneye 007 и пишут отчеты о проделанной работе. Команда хочет увидеть реакцию геймеров на переделанную миссию, и если всем понравится, то они возьмутся за ремастер Goldeneye 007 целиком. Пока создатели оригинала не связывались с GoldenEye 25 и не выписывали им запрет на разработку, так что как минимум текущую работу, они, скорее всего, смогут завершить.
Неделю назад стало известно, что со студией GoldenEye 25 связались представители MGM/Danjaq, которым принадлежат права на IP игры. Они попросили команду прекратить разработку своего ремейка Goldeneye 007. К сожалению, версию от GoldenEye 25 мы уже точно не увидим, но это может значить, что ремейком решила заняться какая-то серьезная студия. Будем ждать новых новостей.
На этом подборка самых амбициозных ремастеров с потрясающей графикой на Unreal Engine 4 подошла к концу. Если все проекты из подборки действительно увидят свет, то, похоже, в скором времени нас ждет эра переизданий лучших игр за последние 30 лет.
А какие ремастеры хотели бы увидеть сегодня вы? Свои варианты пишите в комментариях и не забудьте объяснить, почему именно переиздание этого проекта вы хотите.
Чтобы собрать игру, нужна некая среда с определёнными техническими условиями и необходимыми инструментами. В качестве такой среды выступает игровой движок. Unreal Engine 4 — один из самых популярных движков, который используют как крупные компании, так и небольшие инди-студии. К примеру, на UE4 созданы Final Fantasy VII Remake, Returnal, Gears 5, Borderlands 3, Fortnite, Abz?, Observer и многие другие.
Владимир Семыкин
Энтузиаст геймдизайна, автор Нетологии
Почему Unreal Engine 4 — один из лучших движков для работы над играми
Есть несколько причин большой популярности UE4.
UE4 поддерживает большое количество функций, благодаря чему в нём можно создать практически любую игру.
В Unreal Engine 4 есть встроенная система визуального скриптинга, которая позволяет без особых препятствий выстраивать игровую логику даже новичкам.
Движком можно пользоваться бесплатно: в лицензионном соглашении Unreal Engine указано, что пока ваша игра не принесёт более $1 000 000 — после этого придётся платить 5% от дохода.
Есть возможность сделать игру, которая запустится на всех популярных платформах: PlayStation, Xbox, Switch, ПК, iOS, Android.
У движка огромное сообщество пользователей, которые создают обучающие материалы, делятся друг с другом опытом и помогают решать проблемы. Дополнительный плюс большого сообщества — множество игровых ассетов, доступных для свободного использования в своём проекте.
Epic Games постоянно устраивает бесплатные раздачи ассетов, которые могут пригодиться при разработке игры
Большое преимущество Unreal Engine 4 в универсальности и доступности — его могут использовать как опытные разработчики, так и новички, которые впервые берутся за создание игры. Всё дело в том, что UE4 по умолчанию поддерживает сразу два языка программирования: текстовый C++, в котором нужно писать строчки кода, и визуальный язык Blueprints, в котором игровая логика выстраивается при помощи связанных между собой блоков. Такой подход помогает сделать программирование более наглядным и понятным для тех, у кого нет опыта.
«Blueprints разработала компания Epic Games, чтобы дать инструменты программирования людям, которые далеки от этого. Поэтому научиться работать с Blueprints очень легко. Конечно, необходимо получить минимальную теоретическую базу, например, разобраться, что такое переменные и как работает функциональное и объектно-ориентированное программирование.
Пример логики для шарика, который отскакивает от препятствий и теряет скорость после каждого столкновения
Большое преимущество Blueprints в том, что с его помощью можно быстро собрать базовый геймплей для игры.
Игровой процесс в наших головах и на практике — очень разные вещи. То, что нам кажется интересным, для других будет полным ужасом. Кроме того в проекте часто бывают спорные моменты — управление, правила игры, динамика игры и так далее. Поэтому, прежде чем врываться в разработку и осуществлять задуманное, надо сначала сделать прототип — сырой и быстрый продукт, который позволит попробовать основную механику и получить представление о геймплее.
Меня зовут Игорь Титаренко , я работаю Unreal Engine разработчиком в компании SolidCore Games . Свежий пример, который я хочу с вами рассмотреть — прототип раннера. По этой ссылке вы можете скачать файлы проекта и потестить его.
В готовом прототипе будет:
Персонаж бегущий вперед, на кнопки “A”, “D” меняем локейшн по оси “ X ”.
Уровень, по которому мы передвигаемся — Tile Map. При перемещении персонажа, пройденный тайл перемещается вперед.
Монеты, которые мы будем собирать, и подсчет очков.
Простой UI (Game Over, Score, Restart) и к онец игры при столкновении с препятствием.
Ассеты я подготовил заранее и буду подгружать из готового проекта. Логику напишу с нуля.
Создание проекта и настройка персонажа
Создадим проект на основе Third Person, в котором у нас по умолчанию будет персонаж и уровень.
Я убираю из уровня лишнюю геометрию и настраиваю персонажу управление. Изначально, при нажатии на “W” вызывается событие MoveForward и персонаж передвигается вперед. Мы будем вызывать логику движения вперед не нажатием кнопки, а на Event Tick, то есть на каждый кадр в игре, чтобы персонаж все время бежал вперед.
Затем настраиваем перемещение персонажа на кнопки “A”, “D” — меняем локейшн по оси X .
Создаем массив float переменных, в котором будем хранить значения локации по оси X каждой из трех “дорожек”, по которым бежит персонаж.
Далее проверяем по какой полосе мы бежим — 0, 1 или 2, затем на нажатие кнопок “A”, “D” добавляем или отнимаем индекс полосы, если он не выходит за минимальное и максимальное значение.
После этого, в зависимости от индекса полосы дороги, задаем координаты по оси Х для нашего персонажа.
Tile Map
Начнем с подготовки ассетов для генерации уровня. Нам понадобится:
- Машинки, которые мы будем расставлять по уровню.
- Монетки, которые мы будем собирать.
- Tile — blueprint actor с наполнением уровня. Из тайлов мы будем генерировать “коридор” нашего уровня.
BP_Car
Теперь сделаем машинки, которые будут спауниться на уровне. Чтобы разнообразить игру, будем генерировать случайную машину из массива возможных вариантов. Создаем новый blueprint actor, добавляем ему компонент Static Mesh. Создаем массив с вариантами геометрии для наших машин. Далее пишем логику, которая при создании машинки будет генерировать рандомное (в пределах массива) число — индекс, и по нему задавать нашему эктору геометрию из массива.
BP_Coin
У каждого отдельного тайла на каждой полосе дороги в случайном месте по оси Y спаунится машинка, и на случайной полосе спаунится группа монет.
Чтобы геометрия монет и машинок не пересекалась, мы будем спаунить монеты выше, чтобы они падали на карту. При столкновении с машинкой или дорогой отключим им физику. Таким образом монеты будут на одинаковой высоте и над асфальтом и над машинками, в тех местах где они есть. Здесь они у меня на неравном расстоянии друг от друга, но на то он и прототип, чтобы быстро передать принцип без длительной проработки.
Создаем blueprint actor, добавляем ему компонент геометрии и коллизию, которая будет отвечать за отключение физики при столкновении с поверхностью.
По умолчанию сделаем наш actor физическим объектом, чтобы включить гравитацию. Для этого поставим галочку physics enabled. Далее добавим логику отключения физики, когда она нам больше не нужна.
Сделаем так, чтобы монетка все время вращалась.
BP_Tile
Создаем тайл, из которого будет генерироваться уровень, по которому будет бежать персонаж. Я создаю новый Blueprint actor, добавляю ему нужные нам компоненты:
- StaticMesh — геометрию зданий и окружение.
- Box Collision “SpawnPoint Box” коллизию которая будет отрабатывать событие, когда персонаж пробежит данный тайл. Это необходимо, чтобы мы могли вызвать логику уничтожения данного тайла и спауна нового впереди.
- Spawn point — точку координат, в которой мы будем спаунить новый тайл.
Далее пишем функции генерации машин. Логика здесь такая — получаем локейшн тайла и в случайном месте из заданного диапазона по оси Y спауним BP_Car.
Тоже самое и для монет, только добавим цикл, чтобы генерировать сразу несколько штук.
На событие начала игры вызываем функции спауна машин, по одной для каждой полосы движения, и на случайной полосе спауним монеты.
Теперь в GameMode напишем логику генерации уровня. Класс GameMode отвечает за настройку правил игры. Правила могут включать в себя любое поведение, связанное с игрой. Например, условия выигрыша или, как в нашем случае, генерацию тайл мапа. Функция спауна тайлов будет выглядеть так:
Спауним первый тайл в нулевых координатах, которые записаны в переменную NextSpawnPoint. После этого вытаскиваем локейшн у его Spawn Point. Получаем координаты этой точки и записываем их в переменную NextSpawnPoint — эти координаты будут использованы для следующего тайла. Вызываем функцию еще раз, чтобы заспаунить следующий тайл. В Game Mode на Event Begin Play создадим цикл, который будет вызывать спаун тайлов нужное нам количество раз.
Начало игры запускает цикл. Он проходит от нуля до пяти. То есть функция Spawn Tile вызывается шесть раз. Соответственно, в начале игры спаунится шесть тайлов.
Если сейчас запустить игру, сгенерируется наш tile map, но мы можем пробежать его от начала до конца. Напишем логику для real time генерации тайлов при перемещении по уровню. В BP_Tile добавляем к SpawnPoint Box событие On Component Begin Overlap. Оно будет срабатывать, когда бокс компонент пересечется с другим объектом игрового мира, у которого есть коллизия. Событие проверяет, что столкнулось с SpawnPointBox. Если это character, которым мы управляем, то вызываем из Game Mode функцию спауна нового тайла и после задержки удаляем пройденный тайл.
UI, Подсчет очков
Создадим Widget Blueprint и назовем его WBP_Point.
Добавим в наш виджет следующие текстовые виджеты:
- Score
- GameOver
- Your Score
- Total Score
Сделаем наши текстовые виджеты переменными, чтобы задавать им значения.
Visibility всех элементов виджета кроме Score устанавливаем Hiden и д обавляем кнопку Restart, на нажатие которой заново будет открываться наш уровень.
В целом наш виджет должен выглядеть примерно так:
Перейдем в Graph и создадим переменную “Score” типа integer — целое число. Для текстов Score и Total Score привяжем созданную интовую переменную в качестве значения. Теперь из переменной зададим значение в текст, а переменную, в свою очередь, будем менять в персонаже.
Теперь добавим наш виджет во вьюпорт. Для этого в ThirdPersonCharacter на Event Begin Play создадим виджет WBP_Points, добавим его во вьюпорт и сохраним ссылку на него в переменную “Widget Score”.
Теперь у нас есть практически все для того, чтобы собирать монетки. Создадим в ThirdPersonCharacter событие PickupPoints. При вызове события получаем значение переменной Score из ссылки на виджет Widget Score, добавляем к нему 5 очков и обратно записываем в переменную Score.
PickupPoints будем вызывать из BP_Coin. Добавим событие On Component Begin Overlap для static mesh, в котором проверим с чем пересекается монетка. Если это ThirdPersonCharacter, вызываем у него PickupPoints и уничтожаем монетку.
Теперь, когда персонаж пересечется с монеткой, количество очков увеличится на 5, что сразу отобразится в виджете, а монетка исчезнет/подберется.
Далее создадим логику конца игры, которая будет вызываться на столкновение персонажа с машиной. Для этого создаем в WBP_Points функцию Game Over, в которой будем менять visibility текстовых виджетов Game Over, Total Score, Restart button.
Добавим отдельный Box Collision component в ThirdPersonCharacter.
Привяжем событие на столкновение с этим боксом, в котором мы проверим: если ThirdPersonCharacter сталкивается с BP_Car, то вызываем функцию Game Over из WBP_Points, которая отрисует нужный нам интерфейс. Далее отключаем движения персонажу и включаем отображение курсора мыши, чтобы иметь возможность нажать Restart.
Теперь, если врезаться в машинку, мы получим такой результат:
Этот курс был разработан так, что будет понятным и интересным как и абсолютным новичкам энтузиастам, которые только начинают интересоваться разработкой графики под виртуальную реальность, так и для старших разработчиков. Видеокурс расскажет об разработке виртуальной реальности на базе Unreal Engine.
Этот материал находится в платной подписке. Оформи премиум подписку и смотри Virtual reality and Unreal Engine , а также все другие курсы, прямо сейчас!
Комментарии
Похожие
[Перевод] [RU] Unreal Engine курс - Изучите C ++ и делайте игры
Узнайте, как создавать видеоигры с помощью Unreal Engine 4, бесплатной платформы для разработки игр, используемой студиями AAA класа и разработчиками indie по всему миру. Мы начинаем супер просто, поэтому вам не нужно никакого опыта в Unreal или программировании! С помощью наших онлайн-руководств вы будете поражены тем, чего вы можете достичь.
Разработка Virtual Reality (VR) игр на Unity
VR набирает обороты и игровая реальность - один из первых катализаторов стремительного роста этой индустрии. Этот курс покажет тебе как создавать свои игры с виртуальной реальностью на примере создании тестовой игры во время прохождения курса.
Ресурс видеоуроков программирования для front и back end разработчиков. Бери знания своего профиля у нас, ведь мы самые лучшие блеать. Серьезно.
Читайте также: