Я разрабатываю AR-приложение, используя Vuforia
для целевой модели и Zxing
для сканирования QR-кода.
Я настроил проект так, как это описано на странице Vuforia.Пока я в Playmode, все работает нормально, но как только я его собрал, он не может установить формат кадра, несмотря на отсутствие ошибок компиляции при сборке.
Я использую:
- Unity 2018.4.8f1
- Vuforia 8.3.8
- .Net 4.7
Я пробовал разные форматы фреймов, дал единство прав администратора, включил антивирусный сканер
private IEnumerator camInitializing()
{
//Wait for vuforia to initialize
yield return new WaitForSeconds(4);
if (CameraDevice.Instance == null)
{
Debug.LogError("No Instance of Camera could be found");
}
Debug.LogError( CameraDevice.Instance.IsActive());
availableFormat = PIXEL_FORMAT.RGBA8888;
if (!CameraDevice.Instance.SetFrameFormat(PIXEL_FORMAT.RGBA8888,true))
{
availableFormat = PIXEL_FORMAT.RGB888;
if (!CameraDevice.Instance.SetFrameFormat(PIXEL_FORMAT.RGB888,true))
{
availableFormat = PIXEL_FORMAT.RGB565;
if (!CameraDevice.Instance.SetFrameFormat(PIXEL_FORMAT.RGB565, true))
{
availableFormat = PIXEL_FORMAT.GRAYSCALE;
if (!CameraDevice.Instance.SetFrameFormat(PIXEL_FORMAT.GRAYSCALE, true))
{
availableFormat = PIXEL_FORMAT.UNKNOWN_FORMAT;
Debug.LogError("Couldnt Initiate Camera Format");
}
}
}
}
var isAutoFocus = CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
if (!isAutoFocus)
{
CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_NORMAL);
}
Debug.Log("QR Scanner ready");
_isInitialized = true;
DecoderThread = new Thread(decode);
DecoderThread.Name = "T0, _decoder";
DecoderThread.Start();
pauseThread = true;
}
Программа должна запуститься через несколько секунд и инициализировать формат фреймов, чтобы я мог вызвать getCamerImage, чтобы получитьИзображение для декодирования.Невозможно установить FrameFormat, который приводит к ошибке в GetCameraImage.При создании решения в Visual Studio можно найти следующие две ошибки:
Исключение, выданное в 0x773DFD82 (KernelBase.dll) в zXingVuforiaTest.exe: Ошибка начала WinRT - 0x80040111: 'Windows.UI.WindowManagement.DisplayRegion.onecoreuap \ drivers \ mobilepc \ Датчики \ Convergence \ api \ winrt \ public \ internal \ viewpositiontrackerinternal.h (94) \ Windows.Devices.Sensors.dll! 1FE833ED: (вызывающий абонент: 1FE8240F) Исключение (11) tid (17f0) 80040111 ClassFactorykann angeforderte Klasse nicht liefern Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: wil :: ResultException в ячейке памяти 0x0C53CA78.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: [rethrow] в расположении памяти 0x00000000.onecoreuap \ drivers \ mobilepc \ Sensor \ Convergence \ api \ winrt \ public \ internal \ sensor.cpp (179) \ Windows.Devices.Sensors.dll! 1FE7F4AC: (вызывающий абонент: 1FE7B61C) Исключение (12) tid (17f0) 80070490 ЭлементNicht Gefunden.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: wil :: ResultException в ячейке памяти 0x0C53CCC0.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: [rethrow] в расположении памяти 0x00000000.onecoreuap \ drivers \ mobilepc \ Датчики \ Convergence \ api \ winrt \ public \ internal \ sensorserver.cpp (46) \ Windows.Devices.Sensors.dll! 1FE78581: (вызывающий абонент: 1FE7593F) ReturnHr (7) tid (17f0) 80070490 ЭлементNicht Gefunden.Нить 0x48a8 вышла с кодом 0 (0x0).Исключение, выданное в 0x773DFD82 (KernelBase.dll) в zXingVuforiaTest.exe: ошибка источника WinRT - 0x80040111: «Windows.UI.WindowManagement.DisplayRegion».onecoreuap \ drivers \ mobilepc \ Датчики \ Convergence \ api \ winrt \ public \ internal \ viewpositiontrackerinternal.h (94) \ Windows.Devices.Sensors.dll! 1FE833ED: (вызывающий абонент: 1FE8240F) Исключение (13) tid (17f0) 80040111 ClassFactorykann angeforderte Klasse nicht liefern Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: wil :: ResultException в ячейке памяти 0x0C53CA48.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: [rethrow] в расположении памяти 0x00000000.onecoreuap \ drivers \ mobilepc \ Датчики \ Convergence \ api \ winrt \ public \ internal \ sensor.cpp (179) \ Windows.Devices.Sensors.dll! 1FE7F4AC: (вызывающий абонент: 1FE7B61C) Исключение (14) tid (17f0) 80070490 ЭлементNicht Gefunden.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: wil :: ResultException в расположении памяти 0x0C53CC90.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: [rethrow] в расположении памяти 0x00000000.onecoreuap \ drivers \ mobilepc \ Датчики \ Convergence \ api \ winrt \ public \ internal \ sensorserver.cpp (46) \ Windows.Devices.Sensors.dll! 1FE78581: (абонент: 1FE7593F) ReturnHr (8) tid (17f0) 80070490 ЭлементNicht Gefunden.Исключение, выданное в 0x773DFD82 (KernelBase.dll) в zXingVuforiaTest.exe: ошибка источника WinRT - 0x80040111: «Windows.UI.WindowManagement.DisplayRegion».onecoreuap \ водители \ MobilePC \ Датчики \ схождение \ апи \ WinRT \ Public \ внутренний \ viewpositiontrackerinternal.h (94) \ Windows.Devices.Sensors.dll 1FE833ED!:(вызывающий абонент: 1FE8240F) Исключение (15) tid (17f0) 80040111 ClassFactory kann angeforderte Klasse nicht liefern Исключение, выброшенное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: wil :: ResultException в расположении памяти 0x0C53CAB8.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: [rethrow] в расположении памяти 0x00000000.onecoreuap \ drivers \ mobilepc \ Sensor \ Convergence \ api \ winrt \ public \ internal \ sensor.cpp (179) \ Windows.Devices.Sensors.dll! 1FE7F4AC: (вызывающий абонент: 1FE7B61C) Исключение (16) tid (17f0) 80070490 ЭлементNicht Gefunden.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: wil :: ResultException в расположении памяти 0x0C53CD00.Исключение, выданное в 0x773DFD82 в zXingVuforiaTest.exe: исключение Microsoft C ++: [rethrow] в расположении памяти 0x00000000.onecoreuap \ drivers \ mobilepc \ Датчики \ Convergence \ api \ winrt \ public \ internal \ sensorserver.cpp (46) \ Windows.Devices.Sensors.dll! 1FE78581: (вызывающий абонент: 1FE7593F) ReturnHr (9) tid (17f0) 80070490 ЭлементNicht Gefunden.Не удалось установить формат фрейма
, и в некоторых собственных кодах Vuforia: int32_t returnValue = il2cppPInvokeFunc(____licenseKey0_marshaled
он останавливает отладку, потому что в некоторых доступах отказано