Oculus开发者工具发布v31更新,一系列新内容、漏洞修复和性能优化
Passthrough API实验性版本和一系列旨在优化多人游戏的功能
(映维网 2021年08月14日)Oculus日前为开发者工具发布了v31更新,包括一系列的新增内容,漏洞修复和性能优化,如Passthrough API实验性版本和一系列旨在优化多人游戏的功能。下面是映维网的具体整理:
1. Oculus Integration for Unity – v31
Oculus Integration SDK for Unity支持在Unity中开发Oculus应用程序。它与OVRPlugin 1.63、Audio Spatializer 31.1, Platform integration 31.1, Avatar integration 20.0和LipSync integration 20.0一起打包。最新的Oculus Integration SDK可从Unity的Asset Store或相关归档页面获取。
1.1 新增内容
Passthrough API的实验性版本允许你构建和测试无缝融合真实世界和虚拟世界的应用程序。利用这个实验版本,你将能够在为应用定制透视体验的,包括带有其他VR层的复合透视层,将透视图像的样式和渲染为自定义几何体。Integration SDK包含示例。
已在操作系统中提供Vulkan验证层,建议所有使用Vulkan的应用程序使用。
带有OpenXR后端的OVRPlugin现在在Unity 2020或以上版本为默认,Unity 2019.4版本为可选。你可以通过Oculus>工具>OpenXR菜单切换。
1.2 漏洞修复
PC合成器层倒置并在OpenXR中出现的D3D11错误
OpenXR中的随机眼睛缓冲区撕裂
出现在等直层的垂直拼缝
PC OpenXR中的OVROverlay Color Scale/Bias
OpenXR Vulkan的Unity合成器层倒置
1.3 优化
GetAdaptivePupPerformanceScale已弃用
OpenXR中不再支持GetAppPerfStats/ResetAppPerfStats
不推荐使用以下OvBoundary API和函数:
- enum value OVRBoundary.BoundaryType.OuterBoundary
- struct OVRBoundary.BoundaryTestResult
- OVRBoundary.TestNode()
- OVRBoundary.TestPoint()
- OVRBoundary.GetVisible()
- OVRBoundary.SetVisible()
Focus Aware现在始终处于启用状态,因为每个应用程序都必须支持Focus Aware。
添加了一个在使用实验功能时生成Android Manifest标记的复选框。要测试实验功能,你需要将头显置于实验模式。
在使用OpenXR构建Quest应用程序时,支持MR捕获
增加了对OpenXR中基本振动触觉的支持
1.4 已知问题
这一小节列明了与Unity相关的问题,不单单是针对特定版本。
1.4.1 一般性问题
在使用Unity的XR Management系统时,如果OVRPlugin为最新版本,并且Oculus XR Plugin已经过时,则在Oculus Quest运行ARM7 build时可能会遇到问题。
解决方法:要么切换到ARM64版本,要么将Oculus XR Plugin升级到1.4.0+。
1.4.2 Unity
如果使用Spectator Camera(观众视角)功能,并且切换了视图,投屏视频会翻转。解决方法:将“SetMrcFrameImageFlipped”设置为false。
当在OVRManager中选择“Use Recommended MSAA Level”并在启动屏幕运行后请求音频权限,Vulkan Quest应用可能会崩溃。解决方法:清除OVRManager中的“Use Recommended MSAA Level”复选框,然后在“项目设置”>“质量”中手动设置适当的MSAA Level(建议4x)
目前不支持在Oculus Quest改变Lipsync_Demo的模式。
对于Unity,把一个VR camera与另一个camera相结合会导致二次复合追踪。作为一种解决方法,可以将其变成GameObject Hierarchy中的Sibling。
使用Unity Universal Render Pipeline不会自动设置MSAA Level。
1.4.3 OpenXR
对手部追踪的支持目前仅限于基线OpenXR规范。所以,尚不支持其他手部追踪功能,如手部输入元数据和运行时手部网格。另外,在基于OpenXR的OVRPlugin中,存在与拇指斜方骨(Thumb0)的已知兼容性问题。Oculus将发布一个修复程序。
1.4.4 Windos 10
当在Windows10瞄准Oculus Rift开发时,Unity编辑器可能会出现长时间的UI暂停或性能不佳。解决方法:运行Windows update以确保你拥有最新版本的Windows 10。
当把所有Unity版本与Oculus runtime 1.17及更高版本和Windows 10+Creators Update结合时,即使在非VR项目中,这都会在编辑器报道中生成spurious WM\ U DEVICECHANGE。你可能没有注意到任何影响,但如果你接到某些USB设备,你可能会发现Unity编辑器没有响应,而且你需要从Task Manager终止它。解决方法:在公共测试频道更新Beta运行时。Oculus目前正在与Unity和微软合作,共同寻找一个永久性的解决方案。
1.4.5 Oculus Rift
目前,在Guardian System API中,如果在调用时未佩戴头显,则ovr\u SetBoundaryLookAndFeel不生效。
Transparent VR Compositor Layers当前不支持多层遮挡。
OpenXR后端不支持Rift MRC。你可以切换到传统后端以继续使用Rift MRC。
2. Unreal Engine 4 Integration
Unreal引擎源代码的Oculus GitHub发行版包括最新的SDK,并提供了最新的功能。如要访问,你需要一个订阅了专用EpicGames/UnrealEngine存储库的GitHub帐户。
注意:要访问GitHub的文件,你必须登录到订阅的帐户,否则在访问链接时会出现404错误。
2.1 新增内容
添加了Graphics Showcase示例。运行Setup.bat或Setup.sh以下载示例的内容目录。
为Quest添加了性能色调映射技术,它使用Vulkan子通道来处理Level Sequences中的 Fades,以及Post Process Volumes中的 Scene Color Tint, Color Grading LUT和Vignettes。有关它们的实际示例,请参见上面描述的示例。
使用Perfetto分析使用UE4构建的Oculus应用程序时,你现在可以看到跟踪事件标记。
打包Oculus移动应用时,不必要的锁定唤醒权限不再自动添加到Android manifest中。
在Oculus VR插件设置中,你现在可以选择XR API后端。要访问,请单击项目设置>OculusVR>常规>XR API。有三种选择:
- Legacy OVRPlugin:默认值;将OVRPlugin代码路径和库与CAPI/VRAPI后端一起使用(与以前的版本相同,目前最稳定/兼容)。
- OVRPlugin OpenXR:同样使用OVRPlugin代码路径,但使用带有OpenXR后端的库(缺少一定的功能,可能不太稳定)。
- Native OpenXR:使用UE4的OpenXR代码路径,与之前的OculusOpenXR插件等效(要求在UE4中启用OpenXR插件,目前缺少一定功能)。
Vulkan移动应用:对于sceneColor,有single-sample和MSAA缓冲区。tile-based渲染器的GPU不会填满MSAA缓冲区,同时不会为其分配内存(内存不足/暂时),以节省约80Mb的RAM。
2.2 漏洞修复
修复了4.26版本中的LateLatching中间帧提交问题。新的UE4代码在新帧开始后立即插入额外的vkQueueSubmit,稍微延迟BeginLatching(),以避免BeginLatching和EndLateLatching对之间的帧中刷新。
GLSL编译器现在在顶点着色器使用正确的精度,而之前使用的是highp。
移动VR预览在第二次运行后不再渲染到错误的大小。
修复了在构建APK时即时启动屏幕复制失败的问题。
为了修复PC着色器阵列对齐问题,禁用了PC的阵列多视图优化,因为它增加了支持矩阵,但没有多少好处(PC GPU并不介意执行if-else指令)。
2.3 优化
LastResize重置消息不再spam log cat。
Oculus Platform Tool现在包含一个方便的ODH下载链接。
2.4 其他
你可以通过Unreal或GitHub存储库中获取Unreal引擎,但所述版本的Unreal引擎包含较旧版本的Oculus集成。
GitHub的标准Epic源代码发行版在功能支持方面通常比Oculus分支晚一个月左右。如要访问,你需要一个订阅了专用EpicGames/UnrealEngine存储库的GitHub帐户。
注意:要访问GitHub的文件,必须登录到订阅的帐户,否则在访问以下链接时会出现404错误。
https://github.com/EpicGames/UnrealEngine
3. Platform SDK
你可以使用Platform SDK创建社交VR应用程序。利用SDK的各个组件,你可以将匹配、DLC、应用内购、云存储、语音聊天、自定义项目、成就等添加到体验之中。SDK包括示例应用程序,比方说如何在全功能游戏和应用中实现一系列的SDK功能。
3.1 新增内容
这个版本增加了一系列面向多人游戏的功能,具体请参阅盘点Oculus Quest v31多人游戏功能的重点更新
4. Mobile SDK
Oculus Mobile SDK包括用于Android应用本地C/C++开发的库、工具和资源。如果你主要是使用Unity或Unreal引擎进行Android开发,你在大多数情况下不需要下载Mobile SDK。
4.1 新增功能
截至2021年8月11日,OpenXR是推荐用于开发的API,Mobile API正在转向兼容性支持。
这是一个维护版本。本版本没有面向开发者的改动。
4.2 漏洞修补
这是一个维护版本。没有面向开发者的变化。
4.3 性能优化
这是一个维护版本。没有面向开发者的变化。