遊戲音頻的播放在任何遊戲中都佔據很是重要的地位,音頻的播放還能夠分爲兩種,一種爲遊戲音樂,另外一種爲遊戲音效。前者適用於較長的音樂,如遊戲背景音樂。第二種試用與比較短的遊戲音樂,如開槍,打怪 時「砰砰」一瞬間播放的遊戲音效。今天MOMO將用下面的例子帶盆友們去剖析Unity3D遊戲音樂與音效的播放。
Unity3D遊戲引擎一共支持4個音樂格式的文件 ide
.AIFF 適用於較短的音樂文件可用做遊戲打鬥音效 oop
.WAV 適用於較短的音樂文件可用做遊戲打鬥音效 ui
.MP3 適用於較長的音樂文件可用做遊戲背景音樂 .net
.OGG 適用於較長的音樂文件可用做遊戲背景音樂 對象
在場景中建立一個空的遊戲對象。 遊戲
GameObject -> CreateEmpty 建立成功後我命名爲audio。 ip
給audio添加一個AudioSource屬性,這個屬性很是的重要,Unity播放音樂主要就是要靠這個東西。 get
Component -> Audio – > Audio Source。 it
找一個音樂文件,我這裏使用了一個.mp3音樂文件,我命名爲0.mp3 以下圖所示將它拖動到右側Audio Clip處。 io
咱們發現 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
02 |
usingSystem.Collections; |
04 |
publicclassaudio : MonoBehaviour { |
07 |
publicAudioSource music; |
09 |
publicfloatmusicVolume; |
18 |
if(GUI.Button(newRect(10, 10, 100, 50),"Play music")) { |
29 |
if(GUI.Button(newRect(10, 60, 100, 50),"Stop music")) { |
37 |
if(GUI.Button(newRect(10, 110, 100, 50),"Pause music")) { |
54 |
musicVolume = GUI.HorizontalSlider (newRect(160, 10, 100, 50), musicVolume, 0.0F, 1.0F); |
57 |
GUI.Label(newRect(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,一切功能完美實現,哇咔咔~