Unreal Engine 5 и VR с нуля. Часть 3. Разбираемся с шаблоном VR и создаем первые игровые механики на blueprint.
Введение
Привет всем, кто читает мою статью. Это уже третья часть моего знакомства с Unreal Engine 5 и VR. В этой статье я расскажу как добрался до практики в VR, чего я смог достичь и какие проблемы встретились на моём пути.
Выбор курса практики и откат на более базовый курс
Изначально я начал проходить курс по созданию игры "Дартс" от Oculus, но он оказался старым для Unreal Engine 5. Мне пришлось переключиться на другой курс, чтобы понять основы VR шаблона, предоставленным в Unreal Engine 5.
В будущем я расскажу о курсе по создании игры "Дартс", но для начала покажу курс, который помог мне разобраться в базовом шаблоне VR Unreal Engine 5.
Курс с разбором шаблона VR + создание некоторых механик
Нашел я этот курс на Udemy (без VPN не открывается). Называется курс "Unreal Engine 5 VR Blueprint Crash Course" - https://www.udemy.com/course/unreal-engine-5-vr-blueprint-crash-course/
Для многих может быть проблемой купить курс зарубежной картой. Так что идем в гугл и можем найти какой-нибудь бесплатный способ изучить курс.
Для удобства восприятия материала я загрузил курс на ютуб с доступом по ссылке, могу поделиться ссылкой (напишите мне в телеграм, ссылка есть в описании канала), чтобы смотреть курс через Яндекс Браузер с переводом на рус язык. Лично мне так проще воспринимать материал.
Что дал курс?
- Разбор VR шаблона Unreal Engine 5+ (автор курса использует 5.2 версию, я использую 5.3.2 версию)
- Создание простейших механик (использование двуручного захвата оружия, игра со световым мечом, бросок молота Тора, стрельба из лука, плавание на каяке, скалолазание по скале)
- Итоговая сборка проекта в APK и Windows билд
На моем ПК (конфигурацию я описывал в 1 части) сборка длилась 18 мин 40 сек:
Windows 23 мин:
Какие проблемы я встретил в курсе "Unreal Engine 5 VR Blueprint Crash Course"
1 проблема. Черный экран при отрисовке. (не решено)
При прохождении урока 5 (Overview III Grabbing Shooting), Мы включаем отрисовку трассировку сфера захвата - Draw Debug Type = For Duration.
У меня есть два проекта:
- с "экспериментами по урокам"
- "чистый" для этого курса.
В экспериментальном, при включении дебага захвата, именно в момент когда мы должны видеть дебаг сферу захвата, у меня экран становится черным.
В чистом проекте, всё работает отлично.
Я пробовал полностью переносить настройки проекта из "чистого" в "экспериментальный", но это ничего не дало.
Для меня до сих пор загадка, почему Draw debug может вызывать такое поведение.
Встречал несколько постов на тему проблем с Draw debug https://forums.unrealengine.com/ :
на reddit:
Документация по Debug Drawing:
2 проблема. Мигает песочный ландшафт в VR Preview и ошибка “Landscape Physical Material Needs to be Rebuilt” . (решено)
2.1 Мигает песочный ландшафт (решено)
Когда я впервые столкнулся с этой проблемой, я сразу пошел изучать настройки рендеринга, но проблема оказалась куда более решаемой. При этом, не потребовалась оптимизация материалов.
Если выставить настройки на Low, то песочный ландшафт начнет мигать в режиме VR Preview.
Выглядит это так:
Если выставим высокие настройки или эпик, то всё выглядит хорошо.
2.2 ошибка “Landscape Physical Material Needs to be Rebuilt” (решено)
Долго думал по поводу этой ошибки, но как я понял она касается только версии Unreal Engine 5.3.2. Изначально думал, что мигание ландшафта связано с этим
Как я пробовал пофиксить ошибку:
- Запускал ребилд всего что видел "Build>Build Landscape" и все остальные кнопки нажимал тоже; https://forums.unrealengine.com/t/ue5-landscape-physical-material-needs-to-be-rebuilt/484614
- Пробовал включать/выключать Landmass плагин; https://forums.unrealengine.com/t/ue5-landscape-physical-material-needs-to-be-rebuilt/484614/101
- Пробовал включать/выключать поддержку виртуальных текстур; https://forums.unrealengine.com/t/landscape-needs-physical-material-built-build-landscapes-does-nothing/598771
- Пробовал переопределить материал landscape;
- Пробовал переключить режим в play in selected viewport , запуститься, выключиться, проверить ошибку; (ошибка никуда не исчезала) https://forums.unrealengine.com/t/ue5-landscape-physical-material-needs-to-be-rebuilt/484614/88
Ошибка ли это?
Многие авторы на форумах указывают, что эта ошибка будет высвечиваться, даже если нет никакой ошибки.
Я решил скачать Unreal Engine 5.4.2 и запустить этот же проект. В версии Unreal Engine 5.4.2, сообщение “Landscape Physical Material Needs to be Rebuilt” выглядело как warning и после ребилда ландшафта ("Build>Build Landscape") , исчезало навсегда. Следовательно, можно сделать вывод, что в версии Unreal Engine 5.3.2 ошибка действительно отображается ошибочно, если вы сделали ребилд ландшафта без ошибок в консоли.
Тем более, мой билд полностью собрался без ошибок ландшафта. Стоит учитывать это в будущем, но я не могу перейти на Unreal Engine 5.4.2, потому что на него еще не вышел официально плагин MetaXR.
3 проблема. Лук не стреляет, нет захвата тетивы указательным пальцем. (не решено)
При прохождении урока 15, в финальном тесте лук должен стрелять, с помощью захвата указательным пальцем (при нажатии на клавишу триггер).
По уроку, я всё сделал правильно, но всё равно не работает.
При захвате лука с помощью grab и нажатии trigger, ничего не происходит.
Я пересмотрел урок 5 раз полностью, но так и не увидел ошибку. Надеюсь, с опытом, я смогу решить эту проблему со стрельбой из лука.
Заключение
На практику и решение проблем уходит много времени, поэтому мои следующие статьи могут публиковаться реже, чем я планировал. Если я вспомню еще какие проблемы, связанные с этим курсом, я допишу в эту статью.
Следующая моя цель, разобраться подробнее с новой системой расширенного ввода (Enhanced Input), которую добавили с Unreal Engine 5+.