vuforia添加音效


一、导入音效

二、识别imageTarget播放音效

1.添加Audio Source组件

指定背景音乐,play on awake取消勾选,也就取消了自动播放,因为要在识别到物体后才播放音效
在这里插入图片描述

2. 修改脚本

  1. 打开imageTarget上的myDefaultObserverEventHandler脚本(原本为DefaultObserverEventHandler,因为我修改过这个脚本,所以重新命名为myDefaultObserverEventHandler
  2. 类中定义变量
private AudioSource audio;//识别到目标物体后播放的音效
public AudioClip welcomClip;//识别到目标物体8秒后播放的音效

注:AudioSource是一个组件,AudioClip 是AudioSource的一个属性,前者是音乐源,可以控制音乐的播放等;后者可以从资源ReSources文件中直接获得音频文件。
在这里插入图片描述

  1. 修改 Start()函数
protected virtual void Start()
    {
    
    
        mObserverBehaviour = GetComponent<ObserverBehaviour>();

        if (mObserverBehaviour)
        {
    
    
            mObserverBehaviour.OnTargetStatusChanged += OnObserverStatusChanged;
            mObserverBehaviour.OnBehaviourDestroyed += OnObserverDestroyed;

            OnObserverStatusChanged(mObserverBehaviour, mObserverBehaviour.TargetStatus);
            SetupPoseSmoothing();
        }
        audio = this.GetComponent<AudioSource>();//添加这一句
    }
  1. 修改OnTrackingFound()函数
if (!audio.isPlaying)
{
    
    //如果音效没有在播放,就播放声音
audio.Play();
}
  1. 播放另一段音效
    新建一个函数
 private void PlayWelcomeClip()
 {
    
    
  AudioSource.PlayClipAtPoint(welcomClip, transform.position);
 }

回到imageTarget,指定一下clip
在这里插入图片描述

  1. 设置8秒后播放音效
    在Start()函数中添加一句
Invoke("PlayWelcomeClip", 8.0f);//8秒后调用PlayWelcomeClip方法

参考文章:游戏中的声音和音效

猜你喜欢

转载自blog.csdn.net/zjjjjjjj_/article/details/125597062