Unity Apple Vision Pro 开发:Metal 渲染模式开启透视遇到背景黑屏的解决方法

XR 开发者社区链接:
SpatialXR社区:完整课程、项目下载、项目孵化宣发、答疑、投融资、专属圈子

以下步骤适用于 PolySpatial 2.0 及以上的版本。

我们可以在 Project Settings 中的 Apple visionOS 里将 App Mode 设为 Metal Rendering with Compositor Services,把渲染模式设为 Metal。

使用 Metal 渲染,就会使用 Unity 自己的渲染管线进行渲染,但也会失去一苹果 RealityKit 渲染特性,比如虚拟物体受现实光照影响。

然后我们可以运行官方提供的 Metal 渲染样例,我们导入 visionOS 开发 SDK 时会有一个 Apple visionOS XR Plugin,可以在 Package Manager 中找到,接着在 Samples 中导入适合自己项目渲染管线的样例(如下图所示)。

导入后样例会位于下图的文件夹路径(2.0.0-pre.11 为我当前导入的 PolySpatial 版本):

但是如果我们尝试把样例场景打包到头显中运行,我们可能会发现,要么打开后看不到虚拟场景,要么能看到虚拟场景,但是点击 "Show Passthrough" 开启透视的按钮后,背景是黑的,无法看到现实环境。也许在未来的 PolySpatial 版本会进行修复,但如果你遇到和我一样的问题,需要额外设置一些步骤。

首先打开 Project Settings > Graphics,勾选 Render Graph 下的 Compatibility Mode

然后打开 Project Settings > Quality,Levels 下的 Mobile 对应在苹果头显中运行时用到的渲染模板,PC 对应串流运行时用到的渲染模板。我们点击 Mobile,然后点击下方的 Render Pipeline Asset,我们直接定位到头显端用的 URP 渲染管线配置文件。

然后取消勾选配置文件中的 HDR

现在对场景进行打包,就可以正常看到 VR 与 MR 的切换效果了。

相关推荐
北冥没有鱼啊2 小时前
UE5 射线折射
游戏·ue5·游戏引擎·ue4
※※冰馨※※3 小时前
Unity3D 鼠标移动到按钮上显示信息
开发语言·unity·c#
云围6 小时前
Gitlab 官方推荐自动化cache服务器Minio的安装
git·unity·ci/cd·自动化·gitlab·devops
魔法自动机9 小时前
Unity3D学习FPS游戏(3)玩家第一人称视角转动和移动
unity·1024程序员节·fps
tealcwu10 小时前
【Unity基础】初识UI Toolkit - 运行时UI
ui·unity·编辑器·游戏引擎
我们一起学前端11 小时前
利用游戏引擎的优势
游戏引擎
无敌最俊朗@11 小时前
unity3d————三角函数练习题
开发语言·学习·unity·c#·游戏引擎
无敌最俊朗@1 天前
unity3d——单例模式,加载单例模式类问题
开发语言·学习·unity·单例模式·c#·游戏引擎
未来牛马之星1 天前
学习虚幻C++开发日志——基础案例(持续更新中)
学习·游戏引擎·虚幻
咩咩觉主1 天前
C# & Unity 同步/异步编程和多线程什么关系?async/await和coroutine又是什么?
开发语言·unity·c#·1024程序员节