's Adventrue网站建设定制开发游戏制作笔记(十四)Unity网站建设定制开发播放游戏音效
前言
网站建设定制开发本文章是我学习Unity官方项目项目所做笔记,作为学习Unity的游戏笔记,在最后一章会发出源码,如果等不及可以直接看源码,里面也有很多注释相关,话不多说,让Ruby动起来!
游戏引擎:Unity2020.3
一、创建背景音乐
创建一个空的object
添加新的组件 Audio source
选择背景音乐
二、创建新的脚本
using System.Collections;using System.Collections.Generic;using UnityEngine;// 播放音乐的脚本public class AudioManager : MonoBehaviour{ // 获取音效 private AudioSource audioS; public static AudioManager instance { get; private set; } void Start() { instance = this; audioS = GetComponent<AudioSource>(); } /* // 播放指定音效 public void AudioPlay(AudioClip clip) { audioS.PlayOneShot(clip); }*/ // 随机播放音乐的方法 public void RandomPlay(params AudioClip[] clips) { int index = Random.Range(0, clips.Length); AudioClip clip = clips[index]; audioS.PlayOneShot(clip); }}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
三、在其他需要播放的所有脚本中进行操作
在食物的脚本中拖入音效
玩家音效
拖入音效到预制体
四、给敌人添加音效
给敌人添加修复音效
给机器人添加移动音效
在robot添加新Audio source
设置为loop,并且将Spatial blend 设置为 3D,再设置Max Distance为10
可以看到音效范围
因为音效在主相机上播放,所以要改变audio listener
让摄像机与机器人在一个平面上
在Ruby中创建Audio Listener,使音效在同一平面内
五、给玩家添加移动音效
因为移动是持续的,所以要设置音效播放休息时间,否则会一直播放
设置一个bool型变量判断当前音效是否播放完毕,由于音效时间为2秒,所以设置restTime为2;
在Update中进行计时
在相应应该播放音效的地方进行音效播放
此时播放为2秒一次。