關於Event的一切
約 2403 字大約 8 分鐘
2025-10-03
什麼是 Event?
Event 是 Wwise 專案中最重要的元素之一,它就像是一顆神奇的「按鈕」,按下去就會觸發某個行為(通常是播放聲音)。
所有聲音的起點
為什麼需要Event
在傳統的專案中,我們通常都是直接將音效檔案丟進遊戲引擎,然後用程式碼呼叫播放檔案路徑(例如 PlaySound("sfx_footstep.wav"))。 對那些非常小型的專案來說,或許問題不大,但隨著專案規模變大,音效數量增加,這種做法會帶來許多麻煩。
我們可不希望看到程式裡面塞了一堆絶對檔案路徑,不僅難以維護,也無法靈活控制音效行為(隨機播放、淡入淡出等)。
// 傳統做法:硬編碼檔案路徑
def PlaySound(filePath)
// 這裡是播放音效的邏輯
print("Playing sound from " + filePath)
end
PlaySound("sfx_footstep.wav")
PlaySound("sfx_explosion_large.wav")現在應該沒人在寫這種折磨人的東西了吧?(笑)
使用Event的好處
為了改善這些問題,Wwise 引入了 Event 的概念。Event 是一個抽象的「行為」,它可以綁定到一個或多個音效檔案,並且可以設定各種播放行為。
例如:
- 抽象化:Event 將音效行為與實際檔案分離,讓程式端只需關心「我要播放什麼」,而不必知道「這個聲音在哪裡,在做什麼」。
- 靈活控制:可以在 Wwise 內設定隨機播放、淡入淡出、音量調整等行為,無需修改程式碼。
- 易於維護:如果音效檔案路徑改變,只需在 Wwise 內更新 Event,程式碼不受影響。
- 擴展性強:可以輕易新增或修改音效行為,無需觸碰程式碼。
- 團隊協作:程式設計師與音效設計師可以有共同的語言,減少溝通成本。
Event可以做哪些事情

如果你在Sound SFX的右鍵選單中選擇 New Event,你會看到一大堆選項。
一個Event可以做到的功能如下:
播放行為
- Play(播放)
- Stop(停止)
- Pause(暫停)
- Break(中斷)
- Seek(尋找)
- Post Event(觸發另一個 Event)
音量控制行為
- Bus Volume(總線音量)
- Voice Volume(聲音音量)
- Voice Pitch(聲音音調)
- Voice Low-Pass Filter(低通濾波器)
- Voice High-Pass Filter(高通濾波器)
- Mute(靜音)
其他行為
- Game Parameter(遊戲參數)
- State(狀態)
- Set Switch(切換)
- Trigger(觸發器)
- Release Envelope(釋放包絡)
- Reset Playlist(重置播放列表)
不過,我們最常用的當然是播放聲音(Play),但也可以用來停止(Stop)、暫停(Pause)、恢復(Resume)等行為。
這些行為可以綁定到不同的音效或音樂,讓我們能夠靈活地控制遊戲中的聲音體驗。 光是在圖片上的選項就足矣讓人眼花撩亂,所以目前我們只要先知道 Event 可以做什麼就好,我們後面會逐一介紹其他進階功能。
Event該如何正確命名
替Event命名是非常重要的,因為它直接影響到團隊協作與專案維護。以下是一些命名的最佳實踐:
| 📝 範例 | 🟢/🔴 評判 | 💬 說明 | 建議改法 |
|---|---|---|---|
Play_Footstep | 🟢 很好 | 語意明確、簡潔 | - |
Play_Footstep_Stone | 🟡 可以但... | 若用 Switch 更好 | Play_Footstep + SurfaceType Switch |
Play_explosion_small_v2 | 🔴 避免 | 包含實作細節,不利維護 | Play_Explosion_Small |
PlayFootstepGrassLoop | 🔴 不好 | 沒有底線分隔,難讀 | Play_Footstep_Grass_Loop |
sfx_button_click_01 | 🔴 不好 | 沒有 Play 前綴,不知道行為 | Play_UI_Button_Click |
重要
命名上有幾個重要的黃金法則:
動詞開頭:Play_ / Stop_ / Pause_ / Resume_
語意分層:大分類 → 小分類 → 特定事件
避免技術細節:版本號、音量值、檔案格式
符合官方限制:只使用英文字母、下劃線、數字(數字不開頭) :::
Event 命名官方限制
Event 是受官方嚴格限制的元素之一,必須遵守以下規則:
- ✅ 只能用:
A-Z、a-z、_、0-9 - ❌ 不能用:中文、特殊符號、重音字母、數字開頭
- 範例:
Play_UI_Click✅、播放_UI_點擊❌、3D_Ambience❌
玩轉Event:瞭解每個功能
我們會在這個章節將所有event的功能一一介紹,並且示範如何使用這些功能來達成我們想要的聲音效果。
播放和停止聲音
PlaySoundOptional
Sound SFX
最基本的 Event 功能,用來播放一個或多個音效。它可以綁定到單一音效檔案,或是更複雜的音效容器(例如 Random Container、Sequence Container 等)。
StopSoundOptional
Sound SFX
用來停止正在播放的音效,常用於角色死亡或需要中斷聲音時。StopAllSounds 則是停止所有正在播放的聲音。
PauseSoundOptional
Sound SFX
暫停正在播放的音效並保留當前播放位置。PauseAllSounds 暫停所有聲音。ResumeSound 和 ResumeAllSounds 則用於恢復暫停的音效。
BreakOptional
Sound SFX
中斷循環音效,讓音效自然結束而不是直接切斷,適合需要漸進結束的場景。
尋找和觸發事件
SeekOptional
Sound SFX
跳轉到音效的特定位置,方便在事件觸發後快速調整音效播放進度。
PostEventOptional
Event
在一個 Event 中觸發另一個 Event,實現複雜的行為串接。
音量和音頻效果控制
Bus VolumeOptional
Bus
調整特定音頻總線的音量,Reset Bus Volume 則重置為預設值。
Voice VolumeOptional
Sound SFX
調整單一聲音實例的音量,Reset Voice Volume 重置為預設值。
Voice PitchOptional
Sound SFX
調整聲音的音調,模擬加速或減速效果。Reset Voice Pitch 重置音調。
Voice Low-Pass FilterOptional
Sound SFX
對聲音應用低通濾波器,模擬遠距離或水下效果。
Reset Voice Low-Pass Filter 重置濾波器。
Voice High-Pass FilterOptional
Sound SFX
對聲音應用高通濾波器,模擬近距離或尖銳聲音。
Reset Voice High-Pass Filter 重置濾波器。
MuteOptional
Sound SFX
靜音特定聲音,Unmute 取消靜音。
Game Parameter
設定遊戲參數,控制音效行為變化。Reset Game Parameter 重置參數。
作為GameSyncs的四大元素之一,Game Parameter是非常重要的概念。它可以讓我們根據遊戲中的數值變化來動態調整聲音效果。 說道這個功能,我們在後面的章節會專門介紹 RTPC(Real-Time Parameter Control),這是 Wwise 中非常強大的功能,可以讓聲音根據遊戲狀態動態變化。
你也可以透過點擊這個連結直接跳轉到 RTPC 章節:RTPC 動態控制
State
啟用或禁用特定遊戲狀態,Set State 設定狀態。
同位GameSyncs的四大元素之一,State 用於表示遊戲中的不同狀態(例如戰鬥中、探索中等),並根據這些狀態改變音效行為。多數人經常會把 State 與 Switch 搞混,我們有專門的章節來介紹這兩者的差異:State vs Switch 差異
Set Switch
切換到特定音效組合,實現多樣化聲音變化。
同樣是GameSyncs的四大元素之一,Switch 用於在不同的音效變體之間切換(例如不同材質的腳步聲)。這讓我們能夠根據遊戲情境靈活改變聲音效果。如果你想深入瞭解相關的內容,一樣可以參考我們的專門章節:State vs Switch 差異
Trigger
觸發特定音效觸發器,控制聲音事件。
一樣是GameSyncs的四大元素之一,Trigger 用於觸發一次性的音效事件(例如開門聲、爆炸聲等)。這些事件通常不會持續影響音效行為,而是瞬間發生並結束。
Release Envelope
釋放音效包絡,使聲音進入釋放階段並自然結束,常用於持續性聲音。
如果你對聲音對象設置了包絡(Envelope),例如一個持續的機械運轉聲,在音效的開頭部分你為他設置了 Attack(攻擊)和 Sustain(持續)階段,那麼當你觸發 Release Envelope 時,這個聲音就會進入釋放階段,並根據你設置的 Release 時間自然淡出結束,而不是突然停止。當你把這個功能綁定在音量或音調上時,當你釋放了包絡,機械運轉聲就會逐漸變小聲或者音調降低,直到完全靜音或停止,形成一個自然且流暢的結束效果。
Reset Playlist
將重置隨機播放容器的列表為初始狀態,類似採樣器中Reset Round Robin的效果。
Set Effect
針對特定聲音物件應用音效處理器,增強或改變聲音效果。
Bypass Effect
針對特定聲音物件旁通效果,讓聲音不受效果器影響。
::::
Dialogue Event
Dialogue Event 是 Wwise 中用來處理複雜的對白系統的特殊 Event 類型。它允許你管理和觸發遊戲中的對話音效,並且通常與 Sound Voice 搭配使用,以實現更豐富的對話體驗。
Soundcaster 測試
- 打開 Soundcaster Layout
- 將
Play_Footstep拖入一個 Cue Slot - 可以快速模擬多次觸發與組合其他事件(例如 UI_Click)