You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hololens 1使用PhotoCapture时无法获取投影矩阵问题求助

问题核心原因

你调用PhotoCapture.CreateAsync时第一个参数传入了false,该参数控制是否启用相机位置追踪,设为false时会直接禁用定位数据采集,自然无法获取相机矩阵。

修复步骤

  1. 核心代码修改:将PhotoCapture.CreateAsync的第一个参数改为true
// 原错误代码
PhotoCapture.CreateAsync(false, delegate(PhotoCapture captureObject) {
// 修改后代码
PhotoCapture.CreateAsync(true, delegate(PhotoCapture captureObject) {
  1. 额外适配规则:
  • Unity Editor Play模式下本身不支持获取HoloLens真实相机矩阵,返回false属于正常现象,仅在真机上验证即可
  • 若逻辑为应用启动立刻拍照,建议改为协程延迟3秒后执行拍照逻辑,避免HoloLens1的空间感知模块未完成初始化导致定位数据为空
  • 确认打包时Player Settings > Publishing Settings > Capabilities中SpatialPerception权限已正确勾选,不要仅在代码或清单文件中手动添加
  • 若仍有异常,可降低拍照分辨率测试,部分高分辨率模式下HoloLens1会优先保障成像性能,临时关闭定位数据输出

验证逻辑

修改后真机运行时,photoCaptureFrame.hasLocationData会返回true,两个矩阵获取方法也会同步返回有效值,矩阵坐标系和MRTK全局坐标系一致,可直接用于像素点的空间映射计算。

内容的提问来源于stack exchange,提问作者Carman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 21:27:05