1
我一直在爲Unity3D和Vuforia提供增強現實的項目。現在我想整合XZing從QR碼獲取數據並將這些信息顯示在我的一個Unity資產/對象中。將Unity3D與XZing集成
在包含XZing資產並將VuforiaScanner.cs腳本放在ARCamera上後,無法從相機設備對象加載圖像。
你知道如何解決這個問題或者知道一些將XZing實現到Vuforia/Unity3D的教程嗎?
這裏是VuforiaScanner.cs
using UnityEngine;
using System;
using System.Collections;
using Vuforia;
using System.Threading;
using ZXing;
using ZXing.QrCode;
using ZXing.Common;
[AddComponentMenu("System/VuforiaScanner")]
public class VuforiaScanner : MonoBehaviour
{
private bool cameraInitialized;
private BarcodeReader barCodeReader;
void Start()
{
barCodeReader = new BarcodeReader();
StartCoroutine(InitializeCamera());
}
private IEnumerator InitializeCamera()
{
// Waiting a little seem to avoid the Vuforia's crashes.
yield return new WaitForSeconds(1.25f);
var isFrameFormatSet = CameraDevice.Instance.SetFrameFormat(Image.PIXEL_FORMAT.RGB888, true);
Debug.Log(String.Format("FormatSet : {0}", isFrameFormatSet));
// Force autofocus.
var isAutoFocus = CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
if (!isAutoFocus)
{
CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_NORMAL);
}
Debug.Log(String.Format("AutoFocus : {0}", isAutoFocus));
cameraInitialized = true;
}
private void Update()
{
if (cameraInitialized)
{
try
{
/**
* AT THIS POINT CAMERAFEED IS NULL
**/
var cameraFeed = CameraDevice.Instance.GetCameraImage(Image.PIXEL_FORMAT.RGB888);
if (cameraFeed == null)
{
return;
}
var data = barCodeReader.Decode(cameraFeed.Pixels, cameraFeed.BufferWidth, cameraFeed.BufferHeight, RGBLuminanceSource.BitmapFormat.RGB24);
if (data != null)
{
// QRCode detected.
Debug.Log(data.Text);
}
else
{
Debug.Log("No QR code detected !");
}
}
catch (Exception e)
{
Debug.LogError(e.Message);
}
}
}
}
感謝代碼段提前。
VuforiaScanner.cs具有線VAR數據= barCodeReader.Decode(cameraFeed.Pixels,cameraFeed.BufferWidth,cameraFeed.BufferHeight,RGBLuminanceSource.BitmapFormat.RGB24)誤差; [https://i.stack.imgur.com/oMe7W.jpg] [enter image description here] – alimaha