您的位置:首页 > 移动开发 > Unity3D

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

2016-12-16 16:33 441 查看
实现功能:扫描到识别图显示模型的同时播放对应的声音,移走识别图暂停播放,再识别时从上次暂停的地方开始播放。

基本流程:

(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();
}
1
2
3
4
5



//暂停代码
if(audio.isPlaying)
{
audio.Pause();
}
1
2
3
4
5







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



(4)如果顺利到达这里,你应该算是大功告成了!!
注意事项:1.场景中必须有一个物体带有Audio Listener,否则听不到声音,此处ARCamera带有。

2.声音组件的Spatial Blend选项最好设置为2D Sound,这样音量大小不会受Audio Listener离音源的距离的影响。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: