您好,登錄后才能下訂單哦!
這篇文章主要介紹了Unity3D AudioSource組件如何使用的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇Unity3D AudioSource組件如何使用文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。
AudioSource(音頻源)組件用于控制播放 AudioClip(音頻片段),能夠控制 2D 和 3D(距離越遠(yuǎn),聲音越?。┞曇舨シ?,它一般掛在產(chǎn)生聲源的游戲?qū)ο笊稀?/p>
AudioListener (音頻監(jiān)聽(tīng)器)組件用于監(jiān)聽(tīng) AudioSource 播放的音頻,它一般掛在 Camera 或游戲角色上,每個(gè)場(chǎng)景中最多只有一個(gè) AudioListener。AudioSource 播放音頻時(shí),會(huì)產(chǎn)生一個(gè)音頻場(chǎng),只有在音頻場(chǎng)范圍內(nèi)的 AudioListener 才能監(jiān)聽(tīng)到聲音。
AudioClip 是音頻片段,AudioSource 在播放音頻時(shí),必須綁定一個(gè) AudioClip。
AudioClip:音頻片段
Mute:靜音
Play On Awake:游戲開(kāi)始時(shí)播放聲音
Loop:是否循環(huán)播放
Volume:音量
Spatial Blend:2D、3D 聲音調(diào)節(jié)
Min Distance:3D 聲音最小距離
Max Distance:3D 聲音最大距離
補(bǔ)充:Unity3D 官方提供了一些音頻資源,如下:
// 加載音頻片段 AudioClip audioClip = (AudioClip) Resources.Load("Audio/Footstep01"); // 獲取AudioSource組件 AudioSource audioSource = GetComponent<AudioSource>(); // 綁定音頻片段 audioSource.clip = audioClip; // 播放音頻(選其中一種方式) audioSource.Play(); // 此方式播放音頻, Unity3D會(huì)在transform.position處創(chuàng)建一個(gè)空游戲?qū)ο? 播放完音頻后自動(dòng)銷毀該游戲?qū)ο? AudioSource.PlayClipAtPoint(audioClip, transform.position);
本節(jié)將通過(guò)一個(gè)案例展示 Unity3D 播放立體聲效果。
說(shuō)明:AudioSourceSphere 游戲?qū)ο筇砑恿?AudioSource 組件,并且將 Unity3D 官方提供的 Footstep01.wav 音頻片段拖拽到 AudioSource 組件中;Player 游戲?qū)ο筇砑恿?AudioListener,并移除 MainCamera 中默認(rèn)添加的 AudioListener。
AudioController.cs
using UnityEngine; public class AudioController : MonoBehaviour { private PlayerController player; private AudioSource audioSource; private void Awake() { audioSource = GetComponent<AudioSource>(); player = GameObject.Find("Player").GetComponent<PlayerController>(); } private void Update() { if (player.isMoving) { PlayAudio(); } } private void PlayAudio() { if (!audioSource.isPlaying) { audioSource.Play(); } } }
說(shuō)明: AudioController 腳本組件掛在 AudioSourceSphere 游戲?qū)ο笊稀?/p>
PlayerController.cs
using UnityEngine; public class PlayerController : MonoBehaviour { public bool isMoving = false; private void Update() { isMoving = Move(); } private bool Move() { float hor = Input.GetAxis("Horizontal"); float ver = Input.GetAxis("Vertical"); if (Mathf.Abs(hor) > 0.1f || Mathf.Abs(ver) > 0.1f) { Vector3 dire = new Vector3(hor, 0, ver) * Time.deltaTime * 10; transform.position += dire; return true; } return false; } }
說(shuō)明: PlayerController 腳本組件掛在 Player 游戲?qū)ο笊稀?/p>
關(guān)于“Unity3D AudioSource組件如何使用”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“Unity3D AudioSource組件如何使用”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。