利用Vuforia、Unity 实现AR识别图触发音频播放

这篇文章 主要归功于AR学院的大神们!!
原文链接:原文链接
我在这里做个补充。
实现功能:扫描到识别图显示模型的同时播放对应的声音,移走识别图暂停播放,再识别时从上次暂停的地方开始播放。

基本流程:
(1)在Hierarchy面板的空白处 右键,选择 Create Empty 创建空组件(重命名为Audio_X),
这里写图片描述
在Audio_X组件上 右键 选择Audio下的Audio Sourse 添加Audio Sourse组件并且重命名,
这里写图片描述
将声音文件拖到Audio Clip中 ,并且注意Spatial Blend 这里最好设置成 2D,因为3D 要涉及到 空间距离 的问题,不太好控制,可能造成你摄像头距离识别图太远了,听不到声音。
这里写图片描述
(2)将步骤(1)中的Audio_X拖到对应的ImageTarget中;
这里写图片描述
(3)在ImageTarget上的DefaultTrackableEventHandler脚本中添加一个变量public AudioSource audio,
这里写图片描述这里写图片描述

在DefaultTrackableEventHandler脚本中的Found和Lost函数中添加播放和暂停函数,分别为:

//播放代码
if(!audio.isPlaying)
{
   audio.Play();
}
//暂停代码
if(audio.isPlaying)
{
   audio.Pause();
}

这里写图片描述

这里写图片描述

注意:最重要的一点来了!!这是我当时犯得一个错误,找了好久才找到,不知道你们会不会忘记,反正我是忘记了。就是将(1)步中创建的Audio Sourse组件添加到DefaultTrackableEventHandler脚本上。
这里写图片描述

(4)如果顺利到达这里,你应该算是大功告成了!!
注意事项:1.场景中必须有一个物体带有Audio Listener,否则听不到声音,此处ARCamera带有。
2.声音组件的Spatial Blend选项最好设置为2D Sound,这样音量大小不会受Audio Listener离音源的距离的影响。

原贴里有一个Demo项目源码,你们可以下载下来看一下。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值