出现了一个问题,该程序在电脑unity端运行正常。在hololens2实机端进入关卡以后,AI功能正常,但是vuforia图像识别功能会崩溃,无法实现图像识别功能。
Unity后台报错:
Vuforia Engine has stopped due to an error:
The operating system has dropped the camera device used by Vuforia Engine。
经过检查发现,之前调用webcam的一个脚本忘了删了,后面换成vuforia摄像头调用但是原始摄像头脚本还在,所以就崩溃了。
解决办法:删除程序里面挂载的原始的webcam调用脚本,photocapturer.cs

应该是这段代码里面的冲突。具体可能存在冲突的语句如下:

1. 相机资源竞争(最主要导致崩溃的原因)​:

PhotoCapture.CreateAsync()和 photoCapture.StartPhotoModeAsync()会占用系统相机资源,而 Vuforia 也需要独占相机访问权。

这两个库同时尝试访问相机会导致冲突。

2. ​TakePhotoAsync()调用​:

在 Vuforia 正在运行时尝试拍照可能会导致系统相机冲突,Vuforia 可能已经以不同配置打开了相机。

3. ​分辨率设置​:

cameraResolutionWidth和 cameraResolutionHeight的设置可能与 Vuforia 使用的分辨率冲突,特别是如果 Vuforia 需要特定的分辨率时。

4. StopPhotoModeAsync()​:

停止拍照模式可能会干扰 Vuforia 的相机流水线。

5. 全局状态标志​:

isSystemCameraBusy试图管理资源但无法防止 Vuforia 内部的相机访问。

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注