中级04/Unity中动作声音播放
使用Unity动作系统时,我们往往需要声音和动作同步播放,比如在角色移动的时候,会在脚步落地的时候播放脚步音效。
在Unity动画系统中,可以在每个动画帧中嵌入触发器,以回调脚本。
Unity中的相关设置
为了能够在动作播放的同时播放音频,我们需要在Unity中进行相关设置:
如上图,选择Animation部分,向下滚到到Event部分:
在预览的时间轴上进行选择需要播放音频的位置,而后回到Event的时间轴,在选中的位置上右键,选择Add Animation Event。
下方的内容将会变得可见,我们在Function和String上分别配置调用名称和需要播放的Cue名称:
String上需要填写的内容一定为播放的Cue的名称需要注意。
脚本编写
完成配置后,我们需要抒写相关脚本:
using UnityEngine;
public class PlayerAtomSourceFromAnimation : MonoBehaviour
{
public CriAtomSource atomBSource;
public void PlaySe(string cueName)
{
atomBSource.Play(cueName);
}
}
完成上述脚本后,我们需要将脚本添加在包含动作的场景Object中:
同时我们也需要将Atom Source添加到该Object中,并且注意将Object添加到脚本配置的信息中如图:
处理完成后,当我们运行场景,触发播放动作时,就能够听到相关声音播放了。