ВведениеСегодня расскажу про курс создания игры "Дартс", который начинал еще 2 недели назад, но пришлось откатиться на более базовые курсы. Курс называется "Oculus VR Production for Unreal Engine", он был разработан Oculus и Epic Games. По какой-то причине он был удален с обучающих материалов Unreal Engine.Есть темы, что люди ищут этот курс, но получают только альтернативу, которая не даст возможность создать полноценную мини-игру:forums.unrealengine.comMissing Course - Oculus VR Production for Unreal EngineThanks. The original course video can no longer be found, that’s for sure. After going through the first 6 videos on 3D Map Navigation in Virtual Reality | Course, I dare say that they covered the same set-up for VR as the Oculus VR Production videos. The Game Mode, Game State, VRPawn, etc. were all the same.Приложу обсуждения по проблемам по прохождению этого курса:forums.unrealengine.comSupport Thread: Oculus VR Production for Unreal EngineThanks for posting these, ooghe. Do you think these errors might be unique to your project? I wonder if anyone else has had the same problems. Do you recommend continuing with the course?Курс рассчитан для Unreal Engine 4.24-4.25, по этому, мне пришлось сначала изучить различие систем управления персонажем между UE4 и UE5, чтобы адаптировать этот курс под Unreal Engine 5.3.2. Если вы будете учиться на Unreal Engine 4, то у вас проблем не возникнет.Что лучше сделать заранее?Для начала получите права разработчика, например, по инструкции в этом видео от автора ВИРТУАЛЬНЫЙ СЛОН: Начинаем прохождение курса "Oculus VR Production for Unreal Engine" или создаем свой ДартсКурс был перезалит автором RGB на youtube, надеюсь курс не удалят:https://youtube.com/playlist?list=PLCWdyrWMXRVzZScOJ2uvDaQ-oteqQxJF7&si=TxoNMypj286HBIifИсходные файлы ассетов для курса:www.unrealengine.comwww.unrealengine.comГотовая игра Дартс из курса:www.unrealengine.comwww.unrealengine.comВ данный момент (29.06.2024), я прошел 15 видеоуроков из этого плейлиста. Ниже я опишу проблемы, с которыми я столкнулся, некоторые из них я смог решить. Мне пришлось так же мигрировать весь проект в Unreal Engine 5:Скачал Unreal Engine 4.25.4Запустил проект https://www.unrealengine.com/marketplace/en-US/product/oculus-vr-assets-only в UE4Выделил все файлы проектаНажал мигрировать в папку Contents моего основного проекта Дартс Unreal Engine 5Открыл свой проект Дартс Unreal Engine 5Во время открытия проекта UE4 выпадает несколько ошибок, но если на все нажать "ок" то проект всё равно запустится.1 проблема. Oculus Entitlment Check возвращает failed. (5-е видео из плейлиста) (решено)Для проверки прав на приложение мы прописываем в конфиге (\путь к вашему проекту\Config\DefaultEngile.ini) наш OculusAppId и RiftAppIdБерем AppId из дашборда разработчика>настройки приложения>API:[OnlineSubsystem]DefaultPlatformService=Oculus[OnlineSubsystemOculus]bEnabled=trueOculusAppId="12***********67"RiftAppId="12************67"Выдайте права вашим приложениям!Когда вы создаете свои приложения для AppLab и OculusRift. Вам необходимо:Верифицировать себя как админа;Получить права на UserId и UserProfile в приложении.Получаем права админаПереходим в дашборд разработчика oculus. https://developer.oculus.com/manage/Нажимаем "Начать подтверждение"Я подтверждал с помощью загран. паспорта РФ и вводил свои настоящие данные. Страну указывал "Россия".После заполнения анкеты админа, вы увидите подобное окно:На следующее утро, я уже получил на почту письмо, что я успешно верифицирован как разработчик.Получаем права на UserId и UserProfile в приложении.Вы уже создали два приложения Дартс (AppLab и OculusRift).В каждом, необходимо зайти в My Apps>Edit Details(приложения)>Requirements>проверка использования данныхВ каждом приложении необходимо запросить UserId и UserProfile. Обоснование запроса для этой информации можете списать с моего скриншота. Далее вам необходимо заполнить анкету:резидент какой вы страныкто будет обрабатывать эти данные (я ввел свою ФИО)при каких условиях вы можете передать эти данные (вводим "только на законных основаниях")Буквально за несколько часов вам одобрят ваш запрос.Именно после этих шагов, я смог успешно пройти проверку приложения с помощью Verify Entitlement (5-е видео 4:10):Документация, которая мне помогла решить проверку прав (документация oculus не открывается без VPN):https://developer.oculus.com/documentation/unreal/unreal-quick-start-guide-quest#entitlementcommunityforums.atmeta.comGetLoggedInUser returns Internal Error: OVR35993423HI, With the Unity wrapper, when I call GetLoggedInUser, I got errorCode 1 and errorMessage "Internal Error: OVR35993423". Any idea? Thank you, MichaГ«lcommunityforums.atmeta.comHelp, can't pass verification and get "successful" after "Verify Entitlement" blueprintHelp, can't pass verification and get "successful" after "Verify Entitlement" node . I add these lines to the "DefaultEngine.ini" file: [OnlineSubsystem] В DefaultPlatformService=Oculus В bHasVoiceEnable=true В В [OnlineSubsystemOculus] В bEnabled=true В OculusAppId=[my app id] В When I tested this ...communityforums.atmeta.comGet Oculus Identity returns No Logged In userI try to get my ID with GetOculusIdentity node but it fails and prints out LogOnlineIdentity: Warning: Oculus: Failed Oculus login. Not currently logged into Oculus. Make sure Oculus is running and you are entitled to the app.Also tried Get Oculus ID and it also returns  No logged in userI run Ve...2 проблема. Max Draw Distance для PointLight не работает. (9-е видео из плейлиста 13:20) (решено)Я выставляю Max Draw Distance в разные значения в Unreal Engine 5.3.2 делаю ребилд света и при отдалении от лампочки, она не отключается. По факту, решилось переоткрытием проекта, не знаю что за чудеса случились.3 проблема. Precomputed Visibility Volume не работает в UE5.3.2 (решено)В 9-м видео, мы включаем Precomputed Visibility Volume, но в версии UE5.3.2 он не запускается.Я добавил этот код в файл UE_5.3\Engine\Source\Runtime\Renderer\Private\SceneVisibility.cpp```if (ViewState){ SCOPE_CYCLE_COUNTER(STAT_DecompressPrecomputedOcclusion);View.PrecomputedVisibilityData = ViewState->GetPrecomputedVisibilityData(View, &Scene);}else{View.PrecomputedVisibilityData = nullptr;}```Источник решения проблемы на форуме unreal engine:forums.unrealengine.comPrecomputed Visibility Volume NOT WORK in UE5.3I find the PrecomputedVisibilityData is not set to view This is my fix on UE5.4, hope can help others. if (ViewState) { SCOPE_CYCLE_COUNTER(STAT_DecompressPrecomputedOcclusion); View.PrecomputedVisibilityData = ViewState->GetPrecomputedVisibilityData(View, &Scene); } else { View.PrecomputedVisibilityData = nullptr; }Далее мы вводим в cmd:r.VisualizeOccludedPrimitives 1И получаем Предварительно рассчитанный объем видимости:4 проблема. Появление нескольких персонажей при запуске VR сцены + не работает ввод действий в меню (решено)Как я описывал в прошлой части статьи, Система управления была изменена на Character, чтобы я использовал своё собственное управление в Unreal Engine 5.В 8-м уроке видео, мы настраиваем BP_PlayerStart, а так же, настраиваем свой GameMode_Darts, где мы определяем какой игрок находится на карте и определяем ему порядковый номер.У меня в настройках был указан персонаж VRPawnDarts, а должен быть указан родительский персонаж BPP_Pawn_Darts.Так расположен мой BP_PlayerStart на картеИз-за этого у меня появлялось два персонажаИ именно по этой причине у меня перестали работать нажатия на кнопки в меню. Потому что было два экземпляра персонажа.Перестало работатьПосле того как я прописал Default Pawn Class - "BPP_Pawn_Darts" в настройки проекта>Maps & Modes, проблемы решились.Должно так работать5 проблема. No Guardian found. Check Oculus App (не решено)В 15-м видео (4:17), мы подключаем функцию Is Guardian Configured.Но после всех проверок, у меня функция возвращает false. Я не использую MetaXR Simulator. Я использую Project Settings>MetaXR>XR API > Epic Native OpenXR with Oculus with Oculus vendor extension.Описание функции:docs.unrealengine.comIs Guardian ConfiguredIs Guardian ConfiguredКак оно должно работать описано тут:dev.epicgames.comdev.epicgames.comЯ пробовал:Проверял запускать VR Preview стоя через Oculus Link или через usb кабель.Обращения других разработчиков об этой проблеме:communityforums.atmeta.comUE4 Can't get the guardian within the editor.Hi, I'm doing "VR Development with Oculus and Unreal Engine" course on unreal learning. The lesson "Oculus Guardian"В I can't seam to get "Is Guardian Configured" to run true on Q2 with link. Is it rift only? oculus subsystem is enabled and so is the guardian within the headset, running 4.26.forums.unrealengine.comHow to get playarea points from OpenXR (chaperone/guardian etc.)Hi there, i’m fairly new to vr dev in ue. I want to get the exact shape (or as exact as possible) of the play area border in unreal. AFAIK back in the days there was this “Steam VRChaperone” component that you could add to your player pawn to retrieve all points of your chaperone. In the oculus world there is a “Get Guardian Points” node to retrieve the points of the guardian area. It is just logical that those information about guardian/chaperone exists and it seems the propreitary apis (steam...ЗаключениеЕсли у меня появятся дополнения по описанному в этой статье, то я допишу их с пометкой Update (date).Следующая статья будет посвящена продолжению прохождения этого курса. До новых встреч!Телеграм канал Unreal Engine VRt.meUnreal Engine VRМатериалы и посты о разработке VR с помощью Unreal Engine