Unity3d Ar Vuforia +zxing 实现二维码扫描

最近在写Ar项目,研究了一段时间Vuforia+zxing实现二维码扫描,走了许多弯路,浪费了很多时间,因此,分享一下代码,方便那些想要用vuforia+zxing来实现二维码扫描同学。


直接贴代码:

using UnityEngine;
using FairyGUI;


using ZXing;
using ZXing.Client.Result;
using Vuforia;

using System;

//扫描二维码
public class UIScanning : MonoBehaviour
{
    private GObject _ArVerifyQRUI_btn_back_name;
    private GComponent _mainView;
    private GLoader _mGloader;

    private GTextInput _ArVerifyQRUI_et_code_name;
    private Vuforia.Image.PIXEL_FORMAT m_PixelFormat = Vuforia.Image.PIXEL_FORMAT.RGB888;
    private bool m_RegisteredFormat = false;
    private bool m_LogInfo = true;


    public VuforiaBehaviour vuforia;


    public static event Action<ParsedResult, string> Scanned = delegate { };
    public static event Action<string> ScannedQRCode = delegate { };
    public static event Action<string> ScannedBarCode = delegate { };

    bool decoding;
    bool init;
    BarcodeReader barcodeReader = new BarcodeReader();


    void Awake()
    {
        UIPackage.AddPackage("fairyui_scan_main/scense_2/ArScanMain");
    }


    void Start()
    {
       
        Global.seleteScene(5);
        _mainView = this.GetComponent<UIPanel>().ui;
        _ArVerifyQRUI_btn_back_name = _mainView.GetChild("ArVerifyQRUI_btn_back_name");
        _ArVerifyQRUI_btn_back_name.visible = true;
        _ArVerifyQRUI_btn_back_name.onClick.Add(onClickBack);

        _mGloader = _mainView.GetChild("ArVerifyQRUI_Iimages").asLoader;
        _ArVerifyQRUI_et_code_name = _mainView.GetChild("ArVerifyQRUI_et_co
以下是使用Vuforia和Unity实现最简单的虚拟按钮的步骤: 1. 创建一个新的Unity项目,导入Vuforia插件。 2. 在Vuforia开发者门户网站上创建一个新的AR应用程序,并下载使用Unity的Vuforia AR应用程序包。 3. 将Vuforia AR应用程序包导入Unity项目中。 4. 在场景中添加AR相机,然后将Vuforia的Image Target添加到场景中。 5. 选中Image Target,将其Image Target Behaviour组件中的Image Target Type设置为Predefined,并选择一个预定义的图像。 6. 在场景中创建一个Cube或其他形状的游戏对象,将其作为虚拟按钮。 7. 将虚拟按钮的位置和旋转与Image Target对齐。 8. 为虚拟按钮添加一个Box Collider组件并勾选Is Trigger。 9. 为虚拟按钮添加一个新的脚本,并在脚本中实现OnClick函数。例如: ``` public class VirtualButtonScript : MonoBehaviour, IVirtualButtonEventHandler { private VirtualButtonBehaviour virtualButton; void Start() { virtualButton = GetComponent<VirtualButtonBehaviour>(); virtualButton.RegisterEventHandler(this); } public void OnButtonPressed(VirtualButtonBehaviour vb) { // 当按钮被按下时执行的代码 } public void OnButtonReleased(VirtualButtonBehaviour vb) { // 当按钮被释放时执行的代码 } } ``` 10. 在虚拟按钮的GameObject上添加Virtual Button Behaviour组件,并将其设置为使用刚刚创建的脚本。 11. 运行应用程序,并在相机中将图像目标对准预定义的图像。当虚拟按钮被按下时,OnClick函数将被调用。 这就是实现最简单的虚拟按钮所需的步骤。您可以根据自己的需求进行扩展和改进。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

重播

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值