#游戏unity#AR中奇妙的虚拟按钮

本文介绍了Unity AR中虚拟按钮的概念,对比了它与普通UI按钮的区别,并详细讲解了如何添加与设置虚拟按钮,包括添加脚本组件、编写响应事件的接口,以及在运行时重新配置虚拟按钮的方法。此外,还展示了虚拟按钮在实际项目中控制角色动画的应用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#游戏unity#AR中奇妙的虚拟按钮

先说点题外话,博主在调试项目的时候,什么设置也没有改,突然就运行保存,说vuforia的实例没有初始化,去网上也没有查到错误原因,吓的博主去脚本里找了好久qwq后来在群里问了相关有经验的人才知道——这只是unity打开太久的一个正常反应(???表示无奈),关闭重新打开unity就好了,当时的报错如下图(大家遇到这个错误不要怕啊,,)
这里写图片描述


好了言归正传,博主昨天很奇妙的在unity里的vuforia文件里发现了一个VirtualButton的prefab,这是高通平台提供的一个功能,里面自带了一些接口和方法,需要我们来调用。那么,这个究竟是个什么东西呢?

  • 对比普通的UI组件

    虚拟按钮和普通的UI中的按钮不一样,普通的按钮是在电脑屏幕上或者手机屏幕上进行点击,从而实现基本事件响应;而虚拟按钮是在现实世界中你的识别图上的某个你设定的位置范围内进行点选,实现基本事件的响应。类似 下图:蓝色的按钮就是虚拟按钮,颜色和材质是可以修改的
    这里写图片描述
    当然,同时,这也就要求识别图的清晰度要很高,才能准确的进行事件响应。

    - 关于虚拟按钮的添加与基本设置
    从vuforia文件中将VirtualButton的prefab拖入ImageTarget,成为其子物体。
    在VirtualButton添加脚本组件VirtualButtonBehaviour,我一般把灵敏度设为high
    将虚拟按钮拖到图片上的对应位置,还有就是按钮的大小最好不要超过识别图片的10%

    - 脚本编写

    在实际项目中,不需要计算按钮位置,直接使用Virtual Button的prefab即可。
    在unity3d平台下,主要涉及到一个类和一个接口:
    IVirtualButtonEventHandler。必须要实现这个接口。
    其中这个接口包含两个方法:
    public void OnButtonPressed(VirtualButtonAbstractBehaviour vb)
    public void OnButtonReleased(VirtualButtonAbstractBehaviour vb)
    跟普通按钮一样,点击和释放的两个功能。 因为是实现了一个接口,所以这两个方法必须都有基础的实现,要不然会报错。当事件处理程序被调用时,您将通过一个实例的虚拟按钮,包括按钮的名称。通过这种方式,可以应对不同的按钮事件。虚拟按钮示例应用程序的一个完整的例子:用虚拟按钮实现茶壶材质的变化——
    指定m_TeapotMaterials1数组0元素为default材质,数组1元素为red材质。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值