今天我們來說說 Wwise Unity Integration。這些年來,相關學習資源越來越豐富,隨時都可以拿來參考。就拿 Audiokinetic 官方資源來說,YouTube 上有很多視頻教程,Audiokinetic 問答頁面也有大量詳細解答。除此之外,還有 Wwise-301 課程和 Wwise Unity Integration 文檔。
這些對新手入門來說的確很有幫助。不過看完學習資料之後,東西太多難免會忘。要是一頁一頁地翻看查找,實在耗時費力。即便學過如何使用 Wwise Unity Integration,實踐起來也難免會遇到這樣或那樣的疑問。
如何正確編寫 Wwise 專有 Event?
Spatial Audio 混響區域組件的名稱是什麼?
先調用 OnTriggerEnter() 還是 Update()?
發送 Event 時該用 AkEvent 還是 AkAmbient?
要向回調函數輸入什麼參數來著……?
相信很多人手邊都有以前構建的工程,裡面包含編得不錯的老腳本,還有寫好的各種實用函數,只需稍作修改便可在新工程中重複使用。估計不少人還自建有管理器腳本來更好地規範命名,同時整理並記錄自己不想再寫一遍的函數。在嘗試整合舊代碼時可能還會猶豫,心想是不是從頭開始會更好一些。
那麼在這裡,我來提個建議。不如我們把筆記貼出來,據此構建一個速查表,然後在上面註明用來加快 Wwise Unity 開發流程的各種妙招。但內容最好不超過一頁,這樣比較方便訪問和管理。
在提出對速查表的建議之前,我想先說說事先的一些考慮。
它能不能提供長遠的幫助?內容是否具有普遍適用性?要知道,後續工程中 Event 的名稱或層級結構可能會完全不同。所以,最好簡化或者乾脆移除那些在其他工程中用不上的自定義函數。這樣速查表會更好維護,分享起來也更方便一些。
不同版本的功能引用也是一樣的道理。比如,Unity 中的 Wwise Editor 設置最近轉到了 Unity > Edit > Project Settings。要是據此為 Wwise Unity Integration 設置創建一個快捷路徑,那麼對舊版 Wwise 來說十有八九會不適用。
速查表的根本目的在於減少搜索答案時花費的時間。假如我們把 Unity 要調用的所有 Event 函數都列進來,估計不僅不會提高查找效率,反而可能會增加操作的複雜度。另外,最好不要添加花哨的畫面和視覺效果。相反,一定要保證界面簡潔直觀,查看起來一目了然。這樣也方便同事借用速查表並隨時拿來參考。
我創建這個速查表主要是為了用在 Unity 中,所以不妨把一般性的 Unity 筆記也加進來。比如,「在 Scene 視圖中按下 F 來聚焦遊戲對象」。再打個比方:為了在某個區域播放環境聲,我們一般會結合使用 AkAmbient 組件和 Unity Trigger。這樣的話自然就需要了解 Trigger 的用法。如果在速查表中註明,豈不十分方便?
說了這麼多,接下來談談我對速查表的建議。
請打開此文檔並保存副本,以便稍後隨時拿來自用。
我特意使用基於 Web 的 Google Drawing 軟體創建了這份速查表,為的是方便大家通過瀏覽器訪問該文件並將副本保存到本地磁碟。一旦存到自己的磁碟上,就可根據需要修改細部布局或文本欄位。
為方便起見,我配上了不少術語、函數等等。另外還插入了一些連結,即便下載為 PDF 也能訪問。這樣各位就可以把文件存儲到本地,並在單獨窗口中或在 iPad 上將其打開。當然,也可以在輔助監視器上查看。在創建文件的時候,我就想著得方便日後修改。等到推出新版 Wwise Unity Integration,肯定要加以更新。有需要的話不妨把文件保存下來,稍後可根據需要修改並自由分享。
接下來說說哪些內容不好放在速查表中,但拿來做備忘又很有幫助。比如,「可添加另一 Inspector 視圖來同時查看兩個組件,甚至對比兩個不同遊戲對象的設置」。當然,Unity 工程的準備步驟也很重要。不過,作為條目放在速查表中恐怕不太合適。因為這些都是一次性任務,對其餘開發工作並無幫助。
雖然很多備忘事項並未添加到速查表中,但我還是想在此跟各位分享其中幾條。倘若我漏掉了什麼實用技巧,歡迎各位 Wwise 社區用戶在本文下方評論區給我留言。
準備好在 Unity 中試玩遊戲,就可以進入遊戲模式了。不過,怎麼判斷到底有沒有進入遊戲模式呢?在我看來,除了按下之後會高亮顯示小按鈕,從其他地方看的話其實很難分清。
為了更加清楚地判定目前處於哪種模式,您可以通過 Unity 的 Preferences > Colors > Playmode tint 添加疊加顏色,來對前後狀況明確地加以區分。
這樣的話,一旦在遊戲模式下作了修改,就可通過齒輪圖標來複製組件,接著退出遊戲模式,然後粘貼組件值以保存設置。
跟 Wwise 類似,我們可以根據需要調節 Unity 中的視圖布局。不過,各位知道其實可以同時打開多個 Inspector 視圖嗎?事實上,這種操作在使用多個攝像機時很常見。藉此,可直接添加另一 Game 視圖並指派不同的攝像機。Wwise Unity 開發者可利用該方法同時查看多個遊戲對象,以便對比不同 Wwise Unity Integration 組件的設置。為此,可右鍵單擊 Inspector 窗格,接著依次選擇 Add Tab > Inspector。
然後,鎖定其中一個 Inspector 窗口…
…最後選中另一遊戲對象。
就這麼簡單!
在經過好幾天的音頻整合之後,很容易忘記之前修改了哪些遊戲對象。對此,我們可以通過各種方法查找場景中各個遊戲對象之間的組件掛鈎。比如,在 Unity 的 Hierarchy 視圖頂部搜索某個組件的名稱(如 AkEvent)。這樣可以快速濾掉不符合要求的遊戲對象,而只保留那些綁定有該組件的遊戲對象。
這些都是我在使用 Wwise Unity Integration 時的訣竅,相信諸位肯定也有不少類似的妙招!最後,希望這份 Wwise Unity 速查表及上述技巧能為大家帶來些許啟發和幫助。同時,歡迎在文末評論區或社交媒體上分享自己的筆記,記得 @audiokinetic 並標記 #Wwise 以便我們關注您的工作成果。
麥斯·麥雷蒂·桑德魯普 (MADS MARETTY SØNDERUP)
Audiokinetic,Wwise整合教師/內容創作者,麥斯·麥雷蒂·桑德魯普 (Mads Maretty Sønderup) 是《Wwise Adventure Game》的兩位開發者之一,同時也是 Wwise-251 和 Wwise-301 認證文檔的編寫者。他擁有聲音與音樂計算工程碩士學位和媒體技術學士學位,致力於通過分享專業知識來推動對遊戲音樂的探索。