Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Эта статья будет посвящена завершению прохождения курса "Oculus VR Production for Unreal Engine". В этой статье я расскажу, какие проблемы я встретил при прохождении курса, и как я решал эти проблемы.

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

Выбор Preview Platform. Android Vulkan Mobile

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

Для того чтобы видеть, как игра будет выглядеть в шлеме Meta Quest, необходимо включить превью Android Vulkan Mobile:

Settings>Preview Platform>Android Vulkan Mobile

После компиляции шейдеров, появится иконка Андроид слева от запуска сцены. Таким образом, можно будет переключать Preview Platform.

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Проблема 1. Не собирался билд Android (Решено)

В уроке 38 мы делаем пробный билд игры. У меня билд не собирался, из-за ошибок редиректа.

Изучив проблему, я понял, что копируя и перенося некоторые блюпринты и объекты, создавались файлы ссылок на старое местонахождение этих объектов. Избавляться от них, надо с помощью Fix Up Redirectors.

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Документация о Redirectors:

Гайд по применению Fix Up Redirectors:

После фикса редиректов, сборка проекта успешно была завершена.

Проблема 2. Не запускается игра с плагином Online Subsystem Oculus (Решено)

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Необходимо отключить Online Subsystem Oculus, так как вместо него используются плагин Meta XR.

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

После смены плагина на Meta XR, необходимо заменить функцию проверки собственности на игру.

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Проблема 3. Крашится игра в Android Vulkan Mobile (Решено)

При запуске игры на Meta Quest 3, падает такой лог:

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Так же падает Unreal Engine при запуске игры в режиме Android Vulkan Mobile (получается, предтестовый запуск Vulkan Mobile можно делать локально, Он будет соответствовать запуску на VR шлеме)

LoginId:615e6279457b63b6d363f1b7360a3162 EpicAccountId:680cd586d6834a7ab5167e3ae83ba308 Assertion failed: !ScreenTexture.Texture->Desc.IsTextureArray() [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Renderer\Private\ScreenPass.cpp] [Line: 83] UnrealEditor
LoginId:615e6279457b63b6d363f1b7360a3162 EpicAccountId:680cd586d6834a7ab5167e3ae83ba308 Assertion failed: !ScreenTexture.Texture->Desc.IsTextureArray() [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Renderer\Private\ScreenPass.cpp] [Line: 83] UnrealEditor

Я создал новый шаблон VR в UE5.3.2, настроил его так же как мой проект и тестовый шаблон запускается исправно.

Вероятно, что-то присутствует в проекте, что его ломает.

Решение проблемы: я удалил все строчки настроек под [/Script/Engine.RendererSettings]

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Редактор открыл проект со стандартными настройками и игра успешно запустилась в режиме Android Vulkan Mobile:

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Было замечено, что включение "Game Discards Unused Material Quality Levels" вызывает краш Vulkan Mobile:

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Прикрепляю, что удалил из настроек, я не знаю какая настройка крашила мобильный запуск.

[/Script/Engine.RendererSettings]

r.Mobile.DisableVertexFog=True r.Mobile.AllowDitheredLODTransition=False r.Mobile.AllowSoftwareOcclusion=False r.Mobile.VirtualTextures=False r.DiscardUnusedQuality=True r.AllowOcclusionQueries=False r.MinScreenRadiusForLights=0.030000 r.MinScreenRadiusForDepthPrepass=0.030000 r.MinScreenRadiusForCSMDepth=0.010000 r.PrecomputedVisibilityWarning=False r.TextureStreaming=True Compat.UseDXT5NormalMaps=False r.VirtualTextures=False r.VirtualTexturedLightmaps=True r.VT.TileSize=128 r.VT.TileBorderSize=4 r.vt.FeedbackFactor=16 r.VT.EnableCompressZlib=True r.VT.EnableCompressCrunch=False r.ClearCoatNormal=False r.ReflectionCaptureResolution=64 r.ReflectionEnvironmentLightmapMixBasedOnRoughness=True r.ForwardShading=True r.VertexFoggingForOpaque=True r.AllowStaticLighting=True r.NormalMapsForStaticLighting=False r.GenerateMeshDistanceFields=False r.DistanceFieldBuild.EightBit=False r.GenerateLandscapeGIData=False r.DistanceFieldBuild.Compress=False r.TessellationAdaptivePixelsPerTriangle=48.000000 r.SeparateTranslucency=False r.TranslucentSortPolicy=0 TranslucentSortAxis=(X=0.000000,Y=-1.000000,Z=0.000000) r.CustomDepth=1 r.CustomDepthTemporalAAJitter=True r.PostProcessing.PropagateAlpha=0 r.DefaultFeature.Bloom=False r.DefaultFeature.AmbientOcclusion=False r.DefaultFeature.AmbientOcclusionStaticFraction=False r.DefaultFeature.AutoExposure=False r.DefaultFeature.AutoExposure.Method=0 r.DefaultFeature.AutoExposure.Bias=1.000000 r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True r.EyeAdaptation.EditorOnly=False r.DefaultFeature.LocalExposure.HighlightContrastScale=0.8 r.DefaultFeature.LocalExposure.HighlightContrastScale=1.0 r.DefaultFeature.LocalExposure.ShadowContrastScale=0.8 r.DefaultFeature.LocalExposure.ShadowContrastScale=1.0 r.DefaultFeature.MotionBlur=False r.DefaultFeature.LensFlare=False r.TemporalAA.Upsampling=False r.SSGI.Enable=False r.AntiAliasingMethod=3 r.DefaultFeature.LightUnits=1 r.DefaultBackBufferPixelFormat=4 r.Shadow.UnbuiltPreviewInGame=True r.StencilForLODDither=False r.EarlyZPass=3 r.EarlyZPassOnlyMaterialMasking=False r.DBuffer=True r.ClearSceneMethod=1 r.VelocityOutputPass=0 r.Velocity.EnableVertexDeformation=0 r.SelectiveBasePassOutputs=False bDefaultParticleCutouts=False fx.GPUSimulationTextureSizeX=1024 fx.GPUSimulationTextureSizeY=1024 r.AllowGlobalClipPlane=False r.GBufferFormat=1 r.MorphTarget.Mode=True r.GPUCrashDebugging=False vr.InstancedStereo=True r.MobileHDR=False vr.MobileMultiView=True r.Mobile.UseHWsRGBEncoding=True vr.RoundRobinOcclusion=True vr.ODSCapture=False r.MeshStreaming=False r.WireframeCullThreshold=5.000000 r.RayTracing=False r.RayTracing.UseTextureLod=False r.SupportStationarySkylight=False r.SupportLowQualityLightmaps=True r.SupportPointLightWholeSceneShadows=False r.SupportAtmosphericFog=True r.SupportSkyAtmosphere=False r.SupportSkyAtmosphereAffectsHeightFog=False r.SkinCache.CompileShaders=False r.SkinCache.DefaultBehavior=1 r.SkinCache.SceneMemoryLimitInMB=128.000000 r.Mobile.EnableStaticAndCSMShadowReceivers=True r.Mobile.EnableMovableLightCSMShaderCulling=True r.Mobile.AllowDistanceFieldShadows=False r.Mobile.AllowMovableDirectionalLights=True r.MobileNumDynamicPointLights=4 r.MobileDynamicPointLightsUseStaticBranch=True r.Mobile.EnableMovableSpotlights=False r.Mobile.EnableMovableSpotlightsShadow=True r.GPUSkin.Support16BitBoneIndex=False r.GPUSkin.Limit2BoneInfluences=False r.SupportDepthOnlyIndexBuffers=True r.SupportReversedIndexBuffers=True r.LightPropagationVolume=False r.Mobile.AmbientOcclusion=False r.GPUSkin.UnlimitedBoneInfluences=False r.GPUSkin.UnlimitedBoneInfluencesThreshold=8 r.Mobile.PlanarReflectionMode=0 bStreamSkeletalMeshLODs=(Default=False,PerPlatform=()) bDiscardSkeletalMeshOptionalLODs=(Default=False,PerPlatform=()) VisualizeCalibrationColorMaterialPath=None VisualizeCalibrationCustomMaterialPath=None VisualizeCalibrationGrayscaleMaterialPath=None r.Mobile.AntiAliasing=3 r.Mobile.FloatPrecisionMode=0 r.OpenGL.ForceDXC=0 r.DynamicGlobalIlluminationMethod=1 r.ReflectionMethod=1 r.Shadow.Virtual.Enable=1 r.Nanite.ProjectEnabled=False bEnableVirtualTextureOpacityMask=True r.VT.AnisotropicFiltering=True r.Mobile.EnableNoPrecomputedLightingCSMShader=False r.Mobile.SupportsGen4TAA=False xr.VRS.FoveationLevel=0

Проблема 4. Плагин Oculus Spatializer (Oculus Audio) устарел, необходимо заменить на Meta XR Audio. (Решено)

В уроке 39, мы знакомимся с Пространственным звуком, тут тоже не обошлось без проблем.

Плагин Oculus Spatializer (Oculus Audio) Был заменен на Meta XR Audio. Об этом говорится в документации Meta: https://developer.oculus.com/documentation/unreal/audio-osp-ue/

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Необходимо скачать плагин Meta XR Audio:

Инструкция Перепаковки Плагина Meta XR Audio для другой версии Unreal Engine:

На момент написания статьи (05.08.2024), я скачивал 67 версию плагина. 67 версия предназначена для версии 5.4 (я использую 5.3.2)

В моем случае команда перепаковки в cmd выглядела так:

D:\Unreal_Engine\UE_5.3\Engine\Build\BatchFiles\RunUAT.bat BuildPlugin -plugin="C:\Users\userPC\Downloads\MetaXRAudio\MetaXRAudio.uplugin" -package="C:\temp\MetaXRAudio"

Спустя 2 минуты плагин упаковался 
Спустя 2 минуты плагин упаковался 
Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Далее необходимо скопировать metaxraudio64.dll из загруженного плагина v67 в скомпилированный плагин под нашу версию Unreal Engine. Иначе Unreal не сможет запуститься.

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Устранение предупреждения:

LogAudio: Warning: Failed to load MetaXR Reverb Submix from object path '' in MetaXRSettings. Creating 'MetaXR Reverb Submix' as stub.

После установки плагина, это поле имеет пустое значение, задайте Submix из списка.

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

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

Проблема 5. Нет звука в импортированных ассетах звуков. (Решено)

В каждом импортированном звукоке, необходимо проставить Sound Class

Так же для эффекта Пространственного аудио, необходимо задать настройку, настройку мы создаем сами, после добавления плагина Meta XR audio.

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение
Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

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

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Проблема 6. Ошибка MOBILE PROJECTS SUPPORTING STATIC LIGHT MUST HAVE LQ LIGHTMAPS ENABLED (Решено)

Для устранения этой ошибки, необходимо включить эту настройку в

Project Settings>Engine>Rendering>Support low quality lightmap shader permutatuins

Проблема 7. Устранение Warning о не поддерживании проектом XR функций. (Решено)

Warning появляются при открытии проекта и при сборке билда. Дартс является VR проектом и XR функции ему не нужны.

отключаем эти плагины 
отключаем эти плагины 

Для устранения этих предупреждений, необходимо отключить два плагина и убрать упоминания их в проекте по этому видео:

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Проблема 8. Урок 46. Код С++ предоставленный в курсе не походит для Unreal Engine 5 из-за замены на Meta XR SDK (Не решено)

Пояснение: если вы проходите курс на Unreal Engine 4.25, у вас таких проблем не будет.

В уроке 46 нам предлагают добавить предоставленные курсом файлы в наш проект, но я получаю ошибки компиляции С++.

Я заметил в коде, что используется OVR_Platform.h, но по моему, я его не используют после перехода на Meta XR SDK.

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Так же предоставленный код не компилируется в Visual Studio.

Получаю такие ошибки:

------ Building 5 action(s) started ------ 3>[1/5] Compile [x64] OculusOSS.gen.cpp 3>D:\UEProjects\OculusDarts\Source\OculusDarts\OculusOSS.h(15): error C2079: 'AOculusOSS' uses undefined class 'DARTS_API' 3>D:\UEProjects\OculusDarts\Source\OculusDarts\OculusOSS.h(15): error C2143: syntax error: missing ';' before ':' 3>D:\UEProjects\OculusDarts\Source\OculusDarts\OculusOSS.h(15): error C2059: syntax error: 'public' 3>D:\UEProjects\OculusDarts\Source\OculusDarts\OculusOSS.h(16): error C2143: syntax error: missing ';' before '{' 3>D:\UEProjects\OculusDarts\Source\OculusDarts\OculusOSS.h(16): error C2447: '{': missing function header (old-style formal list?) 3>D:\UEProjects\OculusDarts\Intermediate\Build\Win64\UnrealEditor\Inc\OculusDarts\UHT\OculusOSS.gen.cpp(17): error C2027: use of undefined type 'AOculusOSS' 3>D:\UEProjects\OculusDarts\Intermediate\Build\Win64\UnrealEditor\Inc\OculusDarts\UHT\OculusOSS.generated.h(82): note: see declaration of 'AOculusOSS' 3>D:\UEProjects\OculusDarts\Intermediate\Build\Win64\UnrealEditor\Inc\OculusDarts\UHT\OculusOSS.gen.cpp(22): error C2065: 'ThisClass': undeclared identifier 3>D:\UEProjects\OculusDarts\Intermediate\Build\Win64\UnrealEditor\Inc\OculusDarts\UHT\OculusOSS.gen.cpp(22): error C2059: syntax error: ')' 3>D:\UEProjects\OculusDarts\Intermediate\Build\Win64\UnrealEditor\Inc\OculusDarts\UHT\OculusOSS.gen.cpp(25): error C2027: use of undefined type 'AOculusOSS' 3>D:\UEProjects\OculusDarts\Intermediate\Build\Win64\UnrealEditor\Inc\OculusDarts\UHT\OculusOSS.generated.h(82): note: see declaration of 'AOculusOSS' 3>D:\UEProjects\OculusDarts\Intermediate\Build\Win64\UnrealEditor\Inc\OculusDarts\UHT\OculusOSS.gen.cpp(30): error C2065: 'ThisClass': undeclared identifier 3>D:\UEProjects\OculusDarts\Intermediate\Build\Win64\UnrealEditor\Inc\OculusDarts\UHT\OculusOSS.gen.cpp(30): error C2059: syntax error: ')' 3>D:\UEProjects\OculusDarts\Intermediate\Build\Win64\UnrealEditor\Inc\OculusDarts\UHT\OculusOSS.gen.cpp(33): error C2027: use of undefined type 'AOculusOSS' 3>D:\UEProjects\OculusDarts\Intermediate\Build\Win64\UnrealEditor\Inc\OculusDarts\UHT\OculusOSS.generated.h(82): note: see declaration of 'AOculusOSS'

chatGPT объясняет ошибки так:

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Из-за отсутствия знаний c++, я пропущу сетевую часть в курсе.

Проблема 9. Урок 48. Oculus MRC. Отличие настройки на Unreal Engine 5 (Решено)

В документации Meta сказано, что Mixed Reality Capture Overview Уже интегрирован в Unreal Engine 5.

https://developer.oculus.com/documentation/unreal/unreal-mrc/ 
https://developer.oculus.com/documentation/unreal/unreal-mrc/ 

Документация Mixed Reality Capture (MRC):

Поддерживаемые видеоустройства для захвата смешанной реальности:

Проблема 10. Урок 51. Стандартный профилировщик был переименован в Unreal Insights (Unreal Engine 5) (Решено)

В уроке 51 нам показывают стандартный профилировщик Unreal Engine 4, но в Unreal engine 5 он теперь называется Unreal Insights.

Документация:

VR Profiling Tools:

Презентация возможностей Unreal Insights от Unreal Engine:

Проблема 11. Урок 51. Renderdoc 1.34-1.33 крашится, если Unreal Engine использует D3D12 (на dx11, vulkan всё нормально работает) (Решено)

В уроке мы пробуем обсчитать время вызовов Draw Call в сцене. На dx12 приложение крашится.

Решение: установить renderdoc 1.32 - https://renderdoc.org/builds

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Со мной связалась поддержка Renderdoc, не знаю что он имел ввиду, но dx12 у меня установлен последней версии

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Проблема 12. Warning: Asset has been saved with empty engine version (Решено)

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Для устранения этих ворнингов:

1. найдите эти ассеты в проекте

2. Что-то поменяйте в нем (двинуть ноду в блюпринте)

3. Пересохраните ассет

Итог: Ворнинг пропадет.

Проблема 13. Урок 38. Создание объединенного кэша PSO немного отличается от Unreal Engine 4. (Решено)

В уроке 38, мы знакомимся с Системой кэширования PSO, но в Unreal Engine 5 сбор кэша PSO отличается.

Документация:

Пример команды cmd для сбора кэша PSO:

"D:\Unreal_Engine\UE_5.3\Engine\Binaries\Win64\UnrealEditor-Cmd.exe" D:\UEProjects\OculusDarts\OculusDarts.uproject -run=ShaderPipelineCacheTools expand D:/PSOCaching/*.rec.upipelinecache D:/PSOCaching/*.shk D:/PSOCaching/CL11122333_OculusDarts_SF_VULKAN_ES31_ANDROID.spc

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Далее создайте папку PipelineCaches по такому пути:

D:\UEProjects\OculusDarts\Build\Android_ASTC\PipelineCaches

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Собранные в ручную PSO успешно добавлены в билд.

LogShaderPipelineCacheTools  
LogShaderPipelineCacheTools  

Доп. инфо о PSO Cache

Проблема 14. Keystore file is missing. Check the DistributionSettings section in the Android tab of Project Settings (Решено)

Для публикации Shiping APK билда в Alpha канал, необходимо сгенерировать Keystore

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Сделать можно по этому гайду:

Но для сработало по другому:

1. Зашел от имени администратора в cmd

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

2. Вошел в папку java cd "C:\Program Files\Java\jdk-17\bin" (зависит от вашей версии)

3. Ввел команду: keytool -genkey -v -keystore TecDevStudio.keystore -alias TecDevStudio -keyalg RSA -keysize 2048 -validity 10000

4. Сгенерированный ключ создался в папке: "C:\Program Files\Java\jdk-17\bin", скопировал его и вставил в папку проекта: "D:\UEProjects\OculusDarts\Build\Android"

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

5. Добавил ключ в настройках проекта:

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

6. Собрать Shiping Build

Проблема 14. Entitlement Check и Ачивки не сработали после выкладывания Alpha Build (Не решено)

Документация:

Я сделал всё согласно документации, но что-то не заработало(награду мне не присвоили после прохождения игры).

Я оставлю эти ссылки здесь, чтобы однажды вернуться к этой проблеме. Но в данный момент это не самая большая проблема и моей первой платформой для PC VR приложения будет Steam VR.

Выкладываем билд в Alpha Channel

Для того чтобы выложить билд, необходимо использовать Meta Quest Developer Hub.

App Distibution> выбор вашего приложения>выбираем канал загрузки билда (я загружал альфа билд)

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

После успешной загрузки, откройте этот канал для других пользователей:

1. Выберите канал куда загрузили приложение

2. сформируйте URL для приглашения в канал других юзеров (ссылка живет 90 дней)

3. Примените автоматическое подтверждение доступа в канал

4. Сохраните настройки канала

5. Поделитесь ссылкой с друзьями и даже собой

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

6. После этого увидите приложение у себя в библиотеке

7. Скачиваем и играем

Unreal Engine 5 VR с нуля. Часть 8. PreAlpha Darts. Assets Redirectors. Выбор Preview Platform. Oculus MRC. PSO Caching. Введение

Заключение

Курс "Oculus VR Production for Unreal Engine" и курс по блюпринтам, это отличное введение в VR для новичка, которые определенно нужно проходить вместе.

Далее, я планирую начать курс по C++ и если получится, начать изучать создание окружения и локаций в Unreal Engine.

Начать дискуссию