Unity部署Hololens 2后GameObjects不显示的技术求助
HoloLens 2部署后空白无内容(编辑器运行正常)排查方案
问题背景
严格按照微软MRTK官方教程操作,在场景中添加两个Cube并配置手部交互功能,Unity编辑器Play模式下一切正常,但部署到HoloLens 2设备后:
- 无Unity启动画面,仅显示系统加载动画(4个旋转球体)
- 加载完成后进入空白界面,两个Cube完全不显示
开发环境信息:
- Unity版本:2021.3.43f1
- MRTK3包版本:
- org.mixedrealitytoolkit.accessibility: 1.0.3-pre.20
- org.mixedrealitytoolkit.audio: 3.0.3
- org.mixedrealitytoolkit.core: 4.0.0-pre.1
- org.mixedrealitytoolkit.diagnostics: 3.0.2
- org.mixedrealitytoolkit.extendedassets: 3.0.2
- org.mixedrealitytoolkit.input: 4.0.0-pre.1
- org.mixedrealitytoolkit.spatialmanipulation: 4.0.0-pre.1
- org.mixedrealitytoolkit.standardassets: 3.2.0
- org.mixedrealitytoolkit.tools: 3.0.3
- org.mixedrealitytoolkit.uxcomponents: 4.0.0-pre.1
- org.mixedrealitytoolkit.uxcomponents.noncanvas: 4.0.0-pre.1
- org.mixedrealitytoolkit.uxcore: 4.0.0-pre.1
- org.mixedrealitytoolkit.windowsspeech: 3.0.3
- Mixed Reality OpenXR Plugin版本:1.8.1
核心排查步骤
1. 验证场景构建配置
- 打开
File > Build Settings,确认当前使用的场景已添加到Scenes In Build列表并勾选,未添加的场景不会被打包进应用。 - 进入
Edit > Project Settings > XR Plug-in Management > OpenXR,确保勾选HoloLens Feature Group,且Depth Submission Mode设置为Depth 16-bit(HoloLens 2官方推荐配置)。
2. 修复MRTK3包兼容性问题
当前使用的MRTK3包含多个预发布版本(pre.1/pre.20),版本不匹配易引发初始化异常:
- 将所有MRTK3包统一升级到最新稳定版,或降级到与Unity 2021.3 LTS兼容的匹配版本(优先选择无
pre标识的稳定包)。 - 重点保证
core、input、spatialmanipulation等核心包版本完全一致,避免混合使用不同阶段的预发布版本。
3. 检查部署与设备环境
- 构建时选择Release或Master模式,Debug模式可能因调试钩子导致加载失败或渲染异常。
- 升级HoloLens 2系统到最新Windows Holographic版本(设备设置 > 更新和安全 > Windows更新),旧系统版本可能与OpenXR插件存在兼容性冲突。
4. 通过设备日志定位错误
- 使用HoloLens设备门户连接设备:
- 进入Apps > Installed Apps找到目标应用
- 点击View Logs,筛选
Error级别日志,重点查找初始化失败、资源加载异常、空引用报错等信息
- 若日志提示MRTK初始化失败,可删除场景中的
MixedRealityToolkit对象,通过MRTK3 > Add MRTK to Scene向导重新生成默认配置。
5. 确认对象与相机渲染设置
- 检查Cube的Transform位置:HoloLens 2相机初始位置为(0,0,0),建议将Cube放在(0,0,1.5)左右,确保处于可视范围内。
- 验证Cube的
Mesh Renderer组件已启用,且材质未丢失(编辑器中正常但部署后不显示,可能是材质未被纳入打包资源)。 - 确认场景中的主相机由MRTK自动生成:避免手动修改相机参数,MRTK3会接管相机渲染逻辑,自定义相机可能导致渲染失效。
6. 排查启动画面配置
- 进入
Edit > Project Settings > Player > Splash Image,确认针对UWP平台启用了启动画面,且配置了有效图片资源;若无需启动画面,确保未通过代码强制禁用启动画面导致加载流程异常。
内容的提问来源于stack exchange,提问作者Luca P.
相关产品推荐
相关产品推荐

