枪械的部分音效——Unity随手记(2021.1.27)

今天实现的内容:

枪械的音效数据:

采用了和脚步声类似的方法,也就是使用ScriptableObject。

[CreateAssetMenu(menuName = "FPS/Firearms Audio Data")]
    public class FirearmsAudioData : ScriptableObject
    {
    
    
        // 开火的音效
        public AudioClip ShootingAudio;
        // 弹仓还有子弹时的换弹音效
        public AudioClip ReloadLeft;
        // 弹仓没有子弹时的换弹音效
        public AudioClip ReloadOutOfAmmo;
    }

在资源文件夹中中创建一个FirearmsAudioData,将需要的AudioClip放上去。
在这里插入图片描述
在Firearms类中引用这个音效data。接下来就是具体实现。

        // 音效
        public FirearmsAudioData firearmsShootingAudioData;

枪械的开火音效的实现:

首先说明一下,为了开火和换弹的声音播放不冲突,我们用了两个AudioSource,目前直接挂载到脚本所在gameobject上。
在这里插入图片描述
引用AudioSource。

        public AudioSource firearmsShootingAudioSource;

在AssaultRifle类的Shooting方法中直接播放片段就可以了。

		// 播放开火音效
        firearmsShootingAudioSource.clip = firearmsShootingAudioData.ShootingAudio;
        firearmsShootingAudioSource.Play();

枪械的换弹音效的实现:

由于换弹用了两个不同的方式,所以要使用两个不同的音效,这里要先判断一下。

		// 当前需要播放哪个音效?
		firearmsReloadingAudioSource.clip = (m_isBulletLeft ? 
        	firearmsShootingAudioData.ReloadLeft : firearmsShootingAudioData.ReloadOutOfAmmo);
		firearmsReloadingAudioSource.Play();

BUG以及缺陷:

暂时无


值得注意的:

以后还会有枪械相关的新音效加进去的。


猜你喜欢

转载自blog.csdn.net/qq_37856544/article/details/113246025