• Vuforia添加虚拟按键


    AR虚拟按键为真实识别图上的按键,通过按键可以实现真实与虚拟之间的按键交流

    (一)添加按键

    点击target,打开advance,添加虚拟按键,即可在此target下添加虚拟按键

    注:虚拟按键无法旋转,只能更改长宽,可以通过Name给虚拟按键添加一个标识,通过name访问到此按键

    (二)按键触发

    public class VirtualBtnController : MonoBehaviour,IVirtualButtonEventHandler//通过接口实现点击事件
    {
        public VirtualButtonBehaviour[] virtualButtons;
        public UnityEngine.UI.Button[] structureButtons;
        //public UnityEngine.UI.Button[] structureButtonsCT;
    
        public void OnButtonPressed(VirtualButtonBehaviour vb)
        {
            Debug.Log("Virtual button "+vb.VirtualButtonName+" pressed");
    
            //BC virtual button function
            if(vb.VirtualButtonName.Contains("BildgeShell"))//通过Name确认点击俺就
            {
                structureButtons[0].onClick.Invoke();
            }
    
            if (vb.VirtualButtonName.Contains("BottomSlop"))
            {
                structureButtons[2].onClick.Invoke();
            }
    
            if (vb.VirtualButtonName.Contains("BildgeFloor"))
            {
                structureButtons[1].onClick.Invoke();
            }
    
            if (vb.VirtualButtonName.Contains("Longitudianal"))
            {
                structureButtons[4].onClick.Invoke();
            }
    
            //CT virtual button fuction
            if (vb.VirtualButtonName.Contains("DeckBeam"))
            {
                structureButtons[0].onClick.Invoke();
            }
    
            if (vb.VirtualButtonName.Contains("Floor"))
            {
                structureButtons[1].onClick.Invoke();
            }
    
            if (vb.VirtualButtonName.Contains("InnerShell"))
            {
                structureButtons[2].onClick.Invoke();
            }
    
            if (vb.VirtualButtonName.Contains("OutShell"))
            {
                structureButtons[3].onClick.Invoke();
            }
    
            if (vb.VirtualButtonName.Contains("LongiBH"))
            {
                structureButtons[4].onClick.Invoke();
            }
    
            if (vb.VirtualButtonName.Contains("TransBH"))
            {
                structureButtons[5].onClick.Invoke();
            }
        }
    
        public void OnButtonReleased(VirtualButtonBehaviour vb)
        {
            Debug.Log("Virtual button released");
        }
    
        void Start ()
        {
            foreach(var vb in virtualButtons)
            {
                vb.RegisterEventHandler(this);
            }
        }
    }
  • 相关阅读:
    无法导入panda包解决方法
    VUE学习笔记——基础标签,函数
    jobs指令man手册内容
    linux 部分参数的全名
    bilibiliUP数据爬取——requests库与jason库运用实例
    宝塔面板无法进入phpadmin管理数据库解决办法
    python-spider_BeautifulSoup入门实践(一)安装以及简单的抓取数据
    c++程序设计实践——银行系统
    opencv-学习笔记
    关于pipeline的一篇转载博文https://www.cnblogs.com/midhillzhou/p/5588958.html
  • 原文地址:https://www.cnblogs.com/llstart-new0201/p/9945165.html
Copyright © 2020-2023  润新知