如何将Sony ToFAR默认前置ToF相机分辨率改为640x480
问题:修改ToFAR前置ToF相机启动默认分辨率(iPad Pro 11 Gen2)
开发环境
- OS: macOS 12.4
- Unity版本: 2020.3.36f1
- ToFAR版本: V1.1.0
- 设备: iPad Pro 11 Gen2
问题描述
使用索尼ToFAR进行开发,需要将启动时前置ToF相机的默认分辨率从640x360调整为640x480,但修改设备配置文件后问题仍未解决。
已尝试操作
- 将
use front camera as default设置为True - 编辑
TofAr/V0/Resources/DeviceProfiles/ipad_pro11_gen2_v1.0.0.json文件,修改参数:
(原默认高度为360)"defaultDepthResolutionWidth": "640", "defaultDepthResolutionHeight": "480"
解决方案尝试方向
检查配置文件加载优先级
确认是否存在其他设备配置文件覆盖了当前修改的文件,比如是否有更高版本的同设备配置文件(如ipad_pro11_gen2_v1.1.0.json),或是Resources目录下有同名配置文件被优先加载。代码层面强制设置分辨率
在ToFAR初始化完成后,通过代码主动覆盖分辨率配置,示例代码如下:using TofAr.V0.Depth; using UnityEngine; void Start() { DepthManager.Instance.OnInitialized += (_, __) => { var currentConfig = DepthManager.Instance.CurrentConfig; currentConfig.depthResolutionWidth = 640; currentConfig.depthResolutionHeight = 480; DepthManager.Instance.SetConfig(currentConfig); }; }验证设备硬件支持性
部分设备的ToF相机仅支持特定分辨率组合,可通过API获取设备支持的分辨率列表,确认640x480是否在支持范围内:var supportedResolutions = DepthManager.Instance.GetSupportedResolutions(); foreach (var res in supportedResolutions) { Debug.Log($"支持分辨率:{res.width}x{res.height}"); }清理缓存并重新构建
- 删除Unity项目的Library文件夹,重新导入ToFAR包
- 清理iOS构建缓存,重新打包部署到设备,避免旧配置被缓存复用
内容的提问来源于stack exchange,提问作者osh
相关产品推荐
相关产品推荐

