第二種試用與比較短的游戲音樂,如開槍,打怪 時“砰砰”一瞬間播放的游戲音效。今天MOMO將用下面的例子帶盆友們去剖析Unity3D游戲音樂與音效的播放。
Unity3D游戲引擎一共支持4個音樂格式的文件
.AIFF 適用于較短的音樂文件可用作游戲打斗音效
.WAV 適用于較短的音樂文件可用作游戲打斗音效
.MP3 適用于較長的音樂文件可用作游戲背景音樂
.OGG 適用于較長的音樂文件可用作游戲背景音樂
在場景中創建一個空的游戲對象。
GameObject -> CreateEmpty 創建成功后我命名為audio。
給audio添加一個AudioSource屬性,這個屬性非常的重要,Unity播放音樂主要就是要靠這個東西。
Component -> Audio - > Audio Source。

找一個音樂文件,我這里使用了一個.mp3音樂文件,我命名為0.mp3 如下圖所示將它拖動到右側Audio Clip處。

我們發現 Audio Source 有很多設置的屬性,那么MOMO將一些比較重要的屬性諾列出來。
AudioClip :聲音片段,還可以在代碼中去動態的截取音樂文件。
Mute : 是否靜音
Bypass Effects: 是否打開音頻特效
Play On Awake: 開機自動播放
Loop:循環播放
Volume: 聲音大小,取值范圍0.0 到 1.0
Pitch:播放速度,取值范圍在 -3 到 3 之間 設置1 為正常播放,小于1 為減慢播放 大于1為加速播放。
創建一個腳本我命名為audio.cs 用來音樂的播放。本章將實現3個按鈕 點擊實現 播放音樂、 停止音樂、 暫停音樂 ,與一個橫向拖動條通過手指的拖動實現動態修改音樂聲音。
audio.cs
[代碼]c#/cpp/oc代碼:
02 |
using System.Collections; |
04 |
public class audio : MonoBehaviour { |
07 |
public AudioSource music; |
09 |
public float musicVolume; |
18 |
if (GUI.Button(new Rect(10, 10, 100, 50), "Play music")) { |
21 |
if (!music.isPlaying){ |
29 |
if (GUI.Button(new Rect(10, 60, 100, 50), "Stop music")) { |
37 |
if (GUI.Button(new Rect(10, 110, 100, 50), "Pause music")) { |
54 |
musicVolume = GUI.HorizontalSlider (new Rect(160, 10, 100, 50), musicVolume, 0.0F, 1.0F); |
57 |
GUI.Label(new Rect(160, 50, 300, 20), "Music Volueme is " + (int)(musicVolume * 100) + "%"); |
60 |
//音樂播放中設置音樂音量 取值范圍 0.0F到 1.0 |
61 |
music.volume = musicVolume; |
將audio.cs 綁定在攝像頭上,將audio游戲對象拖動賦值給Music 這個AudioSource這個對象。這里強調一下AudioListenr ,它音頻監聽器,用來監聽音樂文件的播放。這是一個重要的屬性,一定要勾選,只有勾選后才可以進行音樂的播放。

build and run 運行我們這個游戲Demo,一切功能完美實現,哇咔咔~
