Unity Audio 音效播放控制Author: Kelvin Huang遊戲設計除了畫面,音效也是重要的元素,可透過腳本控制音效播放的方法。 影片展示音效用於遊戲或動畫的效果,關於 AudioClip 可參閱 Unity 網站 的說明。
本範例是物件被碰撞時觸發音效,物件必須有 AudioSource 元件。
將此腳本套用到需要發出音效的物件,音效檔可從 Asset Store 資源商店下載 適當音效匯入專案。 當此物件與其他物件碰撞,例如因掉落而碰撞地面,或是遊戲角色碰撞此物件時,都會發出聲音。 稍微修改腳本,例如讓物件碰撞玻璃與金屬時,即可產生不同的音效(透過 Tag 標籤判斷)。
使用 UI 控制音量與靜音建立新的遊戲物件,套用 Audio Source 元件,將音效檔拖曳到 AudioCip 欄位,此物件在進入遊戲時將會持續發出聲音。 無論玩家的距離如何,聽到的音量相同,因為預設值 Spatial Blend = 2D,如果需要讓玩家接近時音量變大,設為 3D 執行 [ GameObject > UI > Scrollbar ] 製作音量控制滑桿,若要改為垂直將 Direction = Bottom To Top ,設定 Value = 1 最大聲。 執行 [ GameObject > UI > Button ] 製作靜音按鈕。完成以上步驟可以執行測試是否能播放背景音樂。 建立一個新的腳本 AudioControl 控制音量,此腳本需要提供以下功能: 1. 拖曳 Scrollbar 的位置可以調整音量。 2. 按靜音按鈕可讓音量歸零,再按一次恢復先前音量。
靜音的控制,執行 SoundMute 時判斷靜音狀態,當按鈕按下時,先做 muteState != muteState 的布林值切換。 當 muteState = true 代表靜音狀態,將目前的音量儲存到 previousVolume 變數,再將音量audioSource.volume設為0。 而 muteState = false 時,再將 previousVolume 數值帶回audioSource.volume。 接著回到場景中,做音量控制條和靜音按鈕的設定 選取 Scrollbar 捲軸,在 Inspector 屬性編輯器的 On Value Changed 按下 + 按鈕新增項目,將 Music 拖曳到下方欄位 右側的下拉選單,選擇 VolumeChanged 可以測試看看是否可以在 Unity 控制音量。 選取靜音按鈕,在 Inspector 屬性編輯器的 On Click () 按下 + 按鈕新增項目,將 Music 拖曳到下方欄位 右側的下拉選單,選擇 MuteClick 可以測試看看是否可以控制 Unity 音量靜音。
為動作加上音效遊戲中的許多場合,需要在動畫的特定時間點發出音效,可以透過動畫事件製作。 建立一個 C# 腳本並套用到物件,注意此物件需有 Audio Source 元件。
開啟 Animation 動畫編輯視窗,鐘擺在左邊的時間按下 Add Event. 按鈕增加動畫事件。
選取剛建立的動畫事件,然後從 Inspector 屬性編輯器選擇 PlaySFX1 ( ) 。
選取剛建立的動畫事件,然後從 Inspector 屬性編輯器選擇 PlaySFX2 ( ) 。
相關教學 [ Directory.GetFiles ] Copyright © 2024 CG Digital Corp. All rights reserved.
|