首先确保打开quest的开发者模式,电脑安装oculus,并且有一根5Ghz的传输线。
这里用到两个案例项目,内容量非常多,务必下载案例研究
复制并粘贴此虚幻商城兑换码,获取此课程的项目文件。 4PXEW-TMCVR-ZMLMU-3ZW8X
7GNSF-7WJYV-W8QHB-2WKBG
01_创建基础VR模板
- 创建一个Blank Template(BP,最高质量,无光线追踪,PC,无初学者内容)
- 修改项目设置
- start in VR √
- smooth frame rate ×
- use fixed frame rate ×
- custom timestep × none (VR平台来控制帧率,而不是项目)
- Editor startup map × clear(协作完成项目时,防止意外编辑)
- 修改项目渲染设置( ./Config/DefaultEngine.ini),添加:(基于4.25引擎)
[/Script/Engine.RendererSettings]
r.ForwardShading=True
r.MobileHDR=True
r.MobileNumDynamicPointLights=4
r.MobileDynamicPointLightsUseStaticBranch=True
r.AllowOcclusionQueries=True
r.MinScreenRadiusForLights=0.030000
r.MinScreenRadiusForDepthPrepass=0.030000
r.PrecomputedVisibilityWarning=False
r.TextureStreaming=True
Compat.UseDXT5NormalMaps=False
r.AllowStaticLighting=True
r.NormalMapsForStaticLighting=False
r.GenerateMeshDistanceFields=False
r.GenerateLandscapeGIData=True
r.TessellationAdaptivePixelsPerTriangle=48.000000
r.SeparateTranslucency=False
r.TranslucentSortPolicy=0
TranslucentSortAxis=(X=0.000000,Y=-1.000000,Z=0.000000)
r.CustomDepth=3
r.DefaultFeature.Bloom=True
r.DefaultFeature.AmbientOcclusion=False
r.DefaultFeature.AmbientOcclusionStaticFraction=False
r.DefaultFeature.AutoExposure=False
r.DefaultFeature.MotionBlur=False
r.DefaultFeature.LensFlare=False
r.DefaultFeature.AntiAliasing=3
r.EarlyZPass=1
r.EarlyZPassMovable=True
r.DBuffer=False
r.ClearSceneMethod=1
r.BasePassOutputsVelocity=False
r.WireframeCullThreshold=5.000000
UIScaleRule=ShortestSide
UIScaleCurve=(EditorCurveData=
(PreInfinityExtrap=RCCE_Constant,PostInfinityExtrap=RCCE_Constant,Keys=),ExternalCurve=None)
vr.InstancedStereo=True
r.DefaultFeature.AutoExposure.Method=1
r.ReflectionCaptureResolution=256
r.GBufferFormat=1
r.SupportStationarySkylight=True
r.SupportLowQualityLightmaps=False
r.SupportPointLightWholeSceneShadows=False
r.SupportAtmosphericFog=False
r.VertexFoggingForOpaque=True
r.AllowGlobalClipPlane=True
r.CapsuleShadows=2
02_统一文件结构
类似这个项目,为本项目设置文件夹,以01或者00开头,置顶。
- 方便实现项目迁移。
- 其他商城资产以其他文件名命名文件夹,区分两者的存在。
项目下属文件夹:
- Characters
- Core
- Environment
- Maps
- Materials
- PFX
- Props
- VR
03_创建核心VR资产(VR文件夹下)
三个结构
VR Pawn
新建Pawn的BP Class ,VR_Pawn
新建Character的BP Class,VR_Character
新建GameModeBase的BP Class,VR_GameModeBase
- 设置default pawn class为VR_Pawn( 单人模式)
- 新建GameMode的BP Class,VR_GameMode
- 设置default pawn class为VR_Character( 单人模式)
World Settings
设置GameMode Override 为VR_GameModeBase
然后可以运行程序了。
- Play
- VR preview
04_支持多个VR平台
在项目中支持多个VR平台
- SteamVR
- Oculus
- Windows Mixed Reality(微软发布了Microsoft Mesh。这个以Microsoft Azure作为基础的新平台旨在支持开发者构建多用户的和跨平台的沉浸式混合现实应用。)
- OpenXR
设置多个VR平台支持
一般方法
- Setting - plugins
- Oculus VR (默认打开)
- Windows Mixed Reality
- Steam VR
- OpenXR(会默认覆盖其他的plugin)
- 修改项目设置( ./Config/DefaultEngine.ini),添加:(值越高优先级越大)
[HMDPluginPriority]
OculusHMD=60
SteamVR=50
WindowsMixedReality=30
OpenXR=20
测试不同平台的快捷方法
复制一份某平台优先级为最高的DefaultEngine.ini 并重命名为DefaultEngine-xxx.ini
然后创建uproject的快捷方式,并修改target为: UE4Editor uproject -DEFENGINEINI-DefaultEngine-xxx.ini 例如:
05_构建不同平台版本(Build & Test)
测试不同 平台 和不同 HMD
首先,确保项目设置中Maps&modes中的Game Default Map又一个基本的Level
然后File
- Package Project
- Windows64
- 选择一个输出文件夹(BUILDS)
- Windows64
可以重命名输出的 Windoes no Editor文件夹为项目名称
新建一个快捷方式,target中加入
-hmd=oculus
也可以是
- steamvr