Unity 集成 FMOD 音頻管理插件 2.02

Unity 集成 FMOD 音頻管理插件 2.02

    • 3. 集成教程:
      • 3.1 設置Unity項目
      • 3.2 設置FMOD項目
      • 3.3 設置 FMOD for Unity
      • 3.4 添加聲音:卡丁車引擎
      • 3.5 添加聲音:氛圍
      • 3.6 添加聲音:音樂
      • 3.7 刪除現有音頻
      • 3.8 下一步
    • 10. 腳本 API 參考
      • 10.1 基礎知識
      • 10.2 Unity Inspector 中的瀏覽器 UI
      • 10.2.1 事件
      • 10.2.2 BANK
      • 10.2.3 全局參數
    • 11 FMOD [主頁鏈接](https://www.fmod.com/)

3. 集成教程:

本指南將向您展示如何開始使用 FMOD for Unity。您將采用現有的Unity項目,安裝FMOD for Unity,并集成使用FMOD Studio創建的自適應音頻。一步一步地跟著走,聽聽結果。完成本教程后,您應該有足夠的知識將 FMOD 內容集成到任何 Unity 項目中。

您將使用的 Unity 項目是卡丁車微型游戲模板,這是一款專為學習而開發的 3D 卡丁車賽車游戲。為簡單起見,您將使用 FMOD 示例項目中的音頻內容。觀看下面的視頻,預覽我們將要進行的更改:

前后對比一下我們將對卡丁車小游戲所做的更改。

讓我們開始吧!

3.1 設置Unity項目

1 訪問 Unity 網站并使用“下載 Unity Hub”按鈕安裝 Unity Hub。

2 登錄 Asset Store 并從 Asset Store 將 Karting Microgame 添加到您的資產中。

3 運行 Unity Hub 并重新登錄。

4 在 Unity Hub 中,單擊“新建項目”。
請添加圖片描述
5 單擊“所有模板”,然后滾動到“卡丁車微型游戲”磁貼。
請添加圖片描述
6 單擊下載模板。
請添加圖片描述
7 如果您尚未安裝 Unity 引擎,系統將提示您安裝一個引擎。如果您安裝了兼容的引擎,請跳到步驟 8。
請添加圖片描述
如果您看到以下消息:

a. 單擊安裝編輯器。
b. 在出現的提示符中,選擇受支持的 Unity 版本(在 Karting Microgame 的 Asset Store 頁面中注明),然后單擊安裝。
請添加圖片描述
c. 單擊“安裝”
請添加圖片描述
d. 等待安裝完成,在 Unity Hub 的“安裝”部分。
e. 完成后,再次單擊“新建項目”,然后選擇“卡丁車微型游戲”(如步驟 4 和 5 所示)。

8 輸入項目名稱,然后單擊“創建項目”。

Unity 將打開并導入項目數據。這可能需要一些時間。 在 Windows 上,您可能需要接受任何提示才能允許防火墻訪問。
打開Unity后,您將看到一個歡迎對話框,說明如何開始使用卡丁車微型游戲教程。

9 歡迎對話框可引導您完成 Unity 的 Karting Microgame 教程。由于我們沒有遵循它,我們可以通過單擊窗口右上角的叉號來關閉“歡迎”對話框。
請添加圖片描述
10 在屏幕右側,您會看到“教程”選項卡。同樣,這在 Unity 的教程中使用,因此我們也可以通過單擊菜單下拉列表并從菜單中選擇“關閉選項卡”來關閉它。
請添加圖片描述

讓我們試著玩卡丁車游戲,聽聽目前的情況。

11 單擊 Unity 窗口頂部的播放按鈕。

游戲將在編輯器中開始播放。

12 使用鍵盤上的箭頭鍵開始駕駛。

正如你所聽到的,發動機的聲音非常安靜。我們可以暫時禁用音樂來聽到引擎 - 但在進行任何更改之前,讓我們保存此項目的新副本。

13 從菜單欄中選擇“文件”>“退出”。
請添加圖片描述
14 系統將提示您保留該項目。選擇“保留”。
請添加圖片描述
15 選擇項目的保存位置和名稱。

16 若要重新打開項目,請再次打開 Unity Hub。

17 從“項目”部分中,選擇剛剛保存的項目。(有時 Unity Hub 不會顯示較舊的項目。如果未顯示項目,請單擊“添加”按鈕并導航到之前保存項目的位置。
請添加圖片描述

等待項目在 Unity 中重新打開,然后再次單擊播放按鈕。

18 在游戲運行時,在左側的“層次結構”選項卡中選擇“BackgroundMusic”游戲對象。

19 取消選中右側“檢查器”窗格中的“音頻源”組件。
請添加圖片描述
20 使用方向鍵繼續行駛。

21 聽完引擎后,單擊播放按鈕退出游戲。

引擎的聲音,以及游戲的一般音頻,可能需要一些改進。我們可以使用 FMOD 來做到這一點。

3.2 設置FMOD項目

我們的計劃是使用 FMOD Studio 示例中的音頻內容。為此,我們需要安裝 FMOD Studio 創作工具并創建一個新的 FMOD
Studio 項目。

1 轉到 FMOD。

2 單擊下載。

3 登錄或創建帳戶。

4 在下載頁面上,單擊 FMOD Studio Suite 部分將其展開,然后選擇 2.02 子部分。

5 單擊適合您正在使用的計算機平臺(Windows 或 Mac)的下載鏈接。
請添加圖片描述

FMOD for Unity的“Unity Verified”版本經過 Unity 的 QA 測試和認證,是兼容的解決方案。

6 運行下載的安裝程序并按照安裝說明進行操作。

接下來,讓我們復制 FMOD Studio 附帶的示例項目。

7 通過從 Windows 上的“開始”菜單或 Mac 上的“應用程序”文件夾中選擇它來運行 FMOD Studio。 (在 Windows 上,接受任何允許防火墻訪問的提示。

8 在歡迎對話框中,從“最近使用的項目”列表中選擇 Examples.fspro 項目。(在 Mac 上,如果未顯示 Examples.fspro,請單擊“打開項目”以手動找到它。示例項目位于 FMOD Studio 安裝目錄的 examples 文件夾中。
請添加圖片描述
9 從菜單欄中,選擇“文件”>“另存為…”。
請添加圖片描述
10 選擇項目的保存位置和名稱。當我們告訴Unity在哪里可以找到FMOD項目時,我們可以將項目保存在我們喜歡的任何位置。請勿在之前創建的 Unity 項目的 Assets 文件夾中選擇位置。

示例項目包含許多事件。 在 FMOD中,事件是可以通過游戲代碼控制的聲音內容單元。游戲中發出聲音的所有內容都應該有相應的事件。事件包含音頻文件和播放邏輯。
在我們的游戲中,卡丁車的引擎將有自己的事件。 在本指南中,我們將使用 Kart 引擎示例項目中的現有事件。我們稍后將介紹如何創建新事件。

11 在窗口左側的“事件”瀏覽器中,選擇“車輛>駕駛式割草機”。該事件將顯示在編輯器中。
請添加圖片描述
12 單擊傳輸欄中的播放按鈕以試聽事件。

13 在傳輸欄中拖動 RPM 滑塊。
請添加圖片描述

您應該聽到以各種 RPM 播放的更準確的發動機聲音模型。 我們的 Unity
游戲可以簡單地播放此事件,在游戲過程中發送任何相關參數數據,例如 RPM 值。

14 單擊停止按鈕以停止試鏡活動。
Setting up the FMOD Project

下一步是將我們的 FMOD 活動構建到銀行中。稍后,我們將在 Unity 中加載庫。

15 在菜單欄中,選擇“文件”>“生成…”。
請添加圖片描述

這些庫將構建到 FMOD Studio 項目中的文件夾中。

3.3 設置 FMOD for Unity

現在,我們已準備好將銀行加載到Unity中,以便可以觸發卡丁車事件。首先,我們需要導入 FMOD for Unity。

1 在瀏覽器中導航到 FMOD for Unity。

請注意,在 Unity 2019.4 及更早版本中,資源存儲會在“資源存儲”窗口中打開。在搜索欄中搜索“FMOD for Unity”。

2 檢查資產的主要版本是否與您的 FMOD Studio 版本匹配,即 2.02.xx(此外,由于包含程序集定義,本指南至少需要 2.02.04)。如果不匹配,請改為從 FMOD 網站下載。

3 單擊“添加到我的資產”按鈕。

在 Unity 2019.4 及更早版本中,此按鈕標記為“下載”。

4 確保您已再次登錄 Unity 帳戶。

5 在 Unity 2020.1 及更高版本中,從 Unity 的菜單欄導航到 Window > Package Manager。

6 在“包管理器”窗口中,確保左上角的第二個下拉列表設置為“我的資產”。

7 選擇 FMOD for Unity 資源,然后單擊右下角的下載。

8 在包列表中選擇“FMOD For Unity”,然后單擊“下載”。下載完成后,單擊“導入”按鈕。

9 系統將提示您輸入資產列表,將它們全部勾選,然后單擊“導入”按鈕。
請添加圖片描述

(如果您使用的是 MacOS 10.15 Catalina,此時可能會遇到警告。如果是這樣,請參閱以下內容:Catalina)。

10 “FMOD Setup Wizard”(FMOD 設置向導)窗口打開。單擊“開始”。
請添加圖片描述

11 下一頁用于更新現有的 FMOD For Unity 設置。由于這是第一次,因此單擊“下一步”。
請添加圖片描述
12 選擇 FMOD Studio 項目按鈕,選擇 FMOD Studio 項目文件夾中的文件(如前所述),然后單擊下一步。*.fspro
請添加圖片描述
13 下一頁是刪除原生 Unity 偵聽器并將其替換為 FMOD 偵聽器。單擊“將 Unity 偵聽器替換為 FMOD 音頻偵聽器”,然后單擊“下一步”。
請添加圖片描述
14 此頁面用于禁用 Unity 的內置音頻引擎。由于我們使用 FMOD 引擎處理音頻,因此 Unity 內置音頻引擎無需不斷消耗資源。單擊禁用內置音頻按鈕。
請添加圖片描述
15 此頁面將列出 Unity 項目中的所有 AudioSource Unity 組件。這對于導航到 Unity 項目中的所有 AudioSource 組件非常有用,以便您可以根據需要禁用或刪除。由于我們想充分了解如何添加 FMOD 事件發射器組件并進一步操作它們,因此請保持此頁面不變并單擊下一步。
請添加圖片描述
16 下一頁用于復制在將 FMOD for Unity 與 Unity 項目一起使用時忽略某些文件和文件夾的規則。由于我們未將此 Unity 項目添加到源代碼管理存儲庫,因此請單擊“下一步”。
請添加圖片描述
17 最后一頁是使用 FMOD for Unity 向導執行的所有任務的列表。由于這是一個新項目,并且沒有更改 Unity AudioSources,因此“更新”和“Unity 源”選項卡被列為“不完整”。這是意料之中的,因此請關閉設置向導,讓我們開始將我們的事件放入 Unity 游戲中。
請添加圖片描述

玩游戲并確保“日志”選項卡中沒有顯示錯誤。

祝賀!現在,您已經完成了 FMOD for Unity 的基本設置。本指南的其余部分將重點介紹如何將 FMOD 事件添加到卡丁車微型游戲中。

3.4 添加聲音:卡丁車引擎

如前所述,我們希望玩家的卡丁車使用 Ride-on Mower FMOD 事件。首先,讓我們添加一個組件來觸發事件。

1 在左側的“層次結構”選項卡中選擇 KartClassic_Player/ArcadeEngineAudio 游戲對象。
請添加圖片描述
2 單擊 Inspector 選項卡底部的添加組件。

3 選擇 FMOD Studio > FMOD Studio 事件發射器。
請添加圖片描述
4 將“Play Event”字段設置為“對象啟動”。
請添加圖片描述
5 單擊“事件”字段旁邊的搜索按鈕。

6 在瀏覽器彈出窗口中,雙擊 Events > Vehicles > Ride-on Mower。
請添加圖片描述
7 在“初始參數值”部分下,從下拉列表中添加 RPM 并將值設置為 1000。
請添加圖片描述

玩游戲。您現在應該聽到卡丁車引擎以 1000 的恒定 RPM 值播放。 我們需要做的是將卡丁車的物理特性確定的 RPM 值與 FMOD事件聯系起來。為此,我們將編輯現有的引擎音頻 C# 腳本,以將 RPM 值傳遞給我們的事件。
但是,我們需要編輯的腳本使用程序集定義文件分配給自定義 KartGame 程序集。這意味著,在我們使 KartGame 程序集引用 FMODUnity 程序集之前,它將無法訪問 FMOD 腳本。

8 在窗口底部的“項目”選項卡中,導航到“Assets > Karting > Scripts > KartGame”。

9 在檢查器的“組件定義參照”(Assembly Definition References) 部分中,單擊“+”按鈕。

10 單擊新組件定義參考上的目標圖標,然后選擇 FMODUnity 組件。
請添加圖片描述

11 單擊檢查器底部的“應用”按鈕。

現在,我們可以對引擎音頻腳本進行更改。

12 在左側的“層次結構”選項卡中選擇 KartClassic_Player/ArcadeEngineAudio 游戲對象。

13 單擊 Inspector 窗格中 Arcade Engine Audio 腳本組件上的上下文菜單圖標。

14 選擇“編輯腳本”。
請添加圖片描述

15 腳本文件將在默認代碼編輯器中打開。

16 我們需要用自己的代碼替換現有代碼,因此選擇下面的所有代碼并按 Cmd/Ctrl + C 進行復制。然后返回代碼編輯器,按 Cmd/Ctrl + A 全選,然后按 Cmd/Ctrl + V 粘貼此代碼:

using UnityEngine;namespace KartGame.KartSystems
{/// <summary>/// This class produces audio for various states of the vehicle's movement./// </summary>public class ArcadeEngineAudio : MonoBehaviour{public float minRPM = 0;public float maxRPM = 5000;ArcadeKart arcadeKart;void Awake(){arcadeKart = GetComponentInParent<ArcadeKart>();}void Update(){float kartSpeed     = arcadeKart != null ? arcadeKart.LocalSpeed() : 0;// set RPM value for the FMOD eventfloat effectiveRPM = Mathf.Lerp(minRPM, maxRPM, kartSpeed);var emitter = GetComponent<FMODUnity.StudioEventEmitter>();emitter.SetParameter("RPM", effectiveRPM); //核心代碼}}
}

17 保存腳本并關閉文本編輯器。

再次玩游戲。發動機聲音會隨著您加速而變化。但是,發動機仍然需要一些調整。

18 確保在“層次結構”選項卡中仍選擇“KartClassic_Player/ArcadeEngineAudio 游戲對象”。

19 在“引擎音頻”腳本組件下,將“最小 RPM”設置為 500,將“最大 RPM”設置為 2000,以匹配 Ride-on Mower 事件的合理范圍。
請添加圖片描述

再次玩游戲。卡丁車引擎聽起來應該好多了!

3.5 添加聲音:氛圍

現在我們已經讓卡丁車引擎正常工作,讓我們為音景添加一些氛圍。

1 在左側的“層次結構”選項卡中選擇“BackgroundMusic”游戲對象。

2 單擊 Inspector 選項卡底部的添加組件。

3 選擇 FMOD Studio > FMOD Studio 事件發射器。
請添加圖片描述
4 將“Play Event”字段設置為“對象啟動”。

5 單擊“事件”字段旁邊的搜索按鈕。

6 在瀏覽器彈出窗口中,雙擊 Events > Ambience > City。

7 在“初始參數值”部分下,從下拉列表中添加“流量”并將值設置為 0.3。
請添加圖片描述

再次玩游戲。您應該聽到城市氛圍充滿了音景。

3.6 添加聲音:音樂

到目前為止,我們一直在使用 FMOD 示例項目中的事件。讓我們嘗試創建一個新事件。

這將是一個復制原始游戲循環背景音樂的簡單事件。

1 在 FMOD Studio 中,右鍵單擊(或在 Mac 上按住 Command 鍵單擊)“音樂”文件夾,然后選擇“事件默認值”>“2D 時間軸”。
請添加圖片描述
2 輸入活動名稱:“卡丁車音樂”。

3 若要將事件分配給庫進行導出,請在“事件”瀏覽器中右鍵單擊(或在 Mac 上按住 Command 鍵單擊)該事件,選擇“分配給庫”,然后選擇“音樂庫”。
請添加圖片描述

我們將在新的FMOD活動中重用Unity項目中的原創音樂。

4 在 Unity 編輯器中,在窗口底部的“項目”選項卡中,導航到“資源”>“卡丁車”>“音頻>音樂”。

5 右鍵單擊(或在 Mac 上按住 Command 鍵單擊)“音樂”資源,然后選擇“在資源管理器中顯示”(或在 Mac 上選擇“在 Finder 中顯示”)。
請添加圖片描述
6 將 Music.mp3 文件從資源管理器(在 Mac 上為 Finder)窗口拖到 FMOD Studio 事件編輯器窗口,將其拖放到編輯器窗格中 Audio 1 軌道的正文上以創建音頻。
請添加圖片描述
7 單擊播放按鈕并確保可以聽到音樂。

8 單擊停止按鈕結束試鏡。

與原版游戲一樣,我們希望音樂能夠連續循環播放。

9 在前面步驟中創建的儀器上單擊鼠標右鍵(或在 Mac 上按住 Command 鍵單擊),然后選擇“新建循環區域”。

播放事件,并觀察音樂在到達循環區域的末尾時是否循環。
音樂將單獨路由到音效。這樣可以很容易地在以后調整混音。

10 在菜單欄中,選擇 Window > Mixer。這將打開 Mixer 窗口。
請添加圖片描述
11 在 Mixer 窗口的 Routing 瀏覽器中,將“Music/Kart Music”事件拖到“Music”組中。
請添加圖片描述

我們需要構建BANK文件,將新的卡丁車音樂活動納入游戲中。

12 在菜單欄中,選擇“文件”>“生成…”。

接下來,讓我們在游戲中觸發這個事件。

13 在 Unity 中,在左側的“層次結構”選項卡中選擇“BackgroundMusic”游戲對象。

14 單擊 Inspector 選項卡底部的添加組件。

15 選擇 FMOD Studio > FMOD Studio 事件發射器。

16 將“Play Event”字段設置為“Object Start”。

17 單擊“事件”字段旁邊的搜索按鈕。

18 在瀏覽器彈出窗口中,雙擊“事件”>“音樂”>“卡丁車音樂”。
請添加圖片描述

玩游戲以聽到播放的背景音樂。 正如你所聽到的,這有效地復制了原始游戲的音樂播放。但是,您會發現背景音樂淹沒了引擎的聲音。
我們可以使用實時更新在FMOD中快速調整聲音。這適用于 Unity 編輯器和獨立構建。

19 在 Unity 窗口中,單擊播放按鈕并確保游戲正在運行。

20 在 FMOD Mixer 窗口中,單擊窗口底部的 Live Update 按鈕。

21 確保選擇“localhost”地址。這使我們能夠連接到與 FMOD Studio 在同一臺機器上運行的游戲。

22 單擊“連接”按鈕。
請添加圖片描述

請注意,窗口底部的“實時更新”按鈕現在突出顯示,混音器中的電平表顯示游戲中聽到的內容。
請添加圖片描述

23 找到調音臺上的音樂組。您可能需要向右滾動才能找到它。
請添加圖片描述
向下拖動音量推子,將其設置為 -6dB。
請添加圖片描述

音樂應立即降低音量。
實時更新可以快速迭代游戲的音頻。
請添加圖片描述
現在是嘗試根據自己的喜好調整事情的好時機。例如,單擊“音樂”組后,您會發現您可以在卡座中編輯聲像和音高設置,或者添加 DSP 效果來更改聲音質量。
請注意,如果斷開實時更新的連接,則在退出播放模式時,Unity 中的音頻將恢復到以前構建的狀態。要提交更改,請在 FMOD Studio 中重建庫。

3.7 刪除現有音頻

在開始添加 FMOD Studio 事件之前,最好刪除項目中當前存在的預先存在的 Unity AudioSource。

1 導航到 FMOD > 設置向導,然后單擊 Unity Sources 選項卡。從其列表中選擇以下游戲對象以自動導航到它們(或者,可以在 Unity 編輯器的“層次結構”選項卡中找到這些對象):

a 游戲管理器/游戲HUD
b 背景音樂
c KartClassic_Player/ArcadeEngine音頻/引擎空閑
d KartClassic_Player/ArcadeEngine音頻/engine_start
e KartClassic_Player/ArcadeEngine音頻/引擎運行
f KartClassic_Player/ArcadeEngine音頻/引擎反轉
g KartClassic_Player/街機引擎音頻/漂移
請添加圖片描述
2 對于這些游戲對象中的每一個:

a 選擇游戲對象
v 單擊右側“檢查器”窗格中“音頻源”組件上的上下文菜單圖標。
c 選擇“刪除組件”。

從 GameManager/GameHUD 對象中刪除音頻源將導致反饋 Flash HUD
腳本中出現錯誤。要解決這個問題,我們需要編輯FeedbackFlashHUD.cs。

3 選擇 GameManager/GameHUD 對象。

4 向下滾動到“檢查器”選項卡中的“反饋閃光 HUD”組件,然后單擊上下文菜單圖標。

5 選擇“編輯腳本”,在默認代碼編輯器中打開腳本文件。

6 刪除所有包含 的行。m_audioSource

7 保存腳本并關閉文本編輯器。

還有一個 Game Flow Manager 組件,用于在通過最終檢查點時創建 AudioSource
組件。為了擺脫這種情況,我們需要編輯GameFlowManager.cs。

8 選擇 GameManager 對象。

9 向下滾動到 Game Flow Manager 組件,然后單擊上下文菜單圖標。

10 選擇“編輯腳本”,在默認代碼編輯器中打開腳本文件。

11 刪除所有包含 的行。audioSource

12 保存腳本并關閉文本編輯器。

還有一些組件會調用(創建 AudioSource
組件)以在您撞到墻或通過檢查點時播放聲音效果。為了擺脫這些,我們需要編輯AudioUtility.cs。AudioUtility.CreateSFX

13 在窗口底部的“項目”選項卡中,導航到“AudioUtility”>“AudioUtility”>“Assets > Scripts > Utilities”。

14 雙擊 AudioUtility 腳本以在默認代碼編輯器中將其打開。

15 刪除函數的內容(第 19-29 行)。CreateSFX

16 保存腳本并關閉文本編輯器。

還有一個 Objective Toast 組件,用于在目標消息出現時創建 AudioSource
組件。為了擺脫這些,我們需要編輯ObjectiveToast.cs。

17 在窗口底部的“項目”選項卡中,導航到 ObjectiveToast > ObjectiveToast > > UI > Assets Karting Scripts。

18 雙擊 ObjectiveToast 腳本,在默認代碼編輯器中將其打開。

19 刪除除以 開頭的行之外的所有包含的行。PlaySoundvoid PlaySound

20 保存腳本并關閉文本編輯器。

如果您再次玩游戲,警告將得到修復。但是,您可能會注意到起跑線聲音繼續播放。這些是由 Unity 時間線資源觸發的,我們也可以將其刪除。

21 在窗口底部的“項目”選項卡中,導航到 Assets > Karting > Timelines > RaceStart。

22 雙擊 RaceStart 資源以在編輯器中將其打開。請添加圖片描述
在顯示的“時間軸”選項卡中,單擊“音軌”上下文菜單圖標,然后選擇“刪除”。
請添加圖片描述

再玩一次游戲。不應聽到任何音頻,也不應在“日志”選項卡中顯示任何警告。

3.8 下一步

在本指南中,您學習了如何將 FMOD 添加到現有 Unity 游戲中。我們還替換并改進了游戲的聲音,讓世界感覺更加生動。

要了解有關 FMOD 和 Unity 的更多信息,請參閱以下資源:

  • 維京村 - 視頻教程系列
  • 生存射擊游戲 - 視頻教程系列
  • FMOD Studio - 用戶手冊

10. 腳本 API 參考

FMOD Studio Unity Integration 以 C# 公開完整的 FMOD Core 和 Studio API。

Studio API 用于播放和控制在 FMOD Studio 工具中創建的事件。

核心 API 用于直接播放聲音以及事件播放的高級控制。

運行時管理器 API 為編寫使用 FMOD Studio 事件的 Unity 游戲組件時的最常見操作提供了幫助程序。

10.1 基礎知識

初始化時,它會創建一個 和 一個 .您可以使用其中任何一個和/或所有這些來訪問 API。

RuntimeManagerStudio SystemCore Systemvar studioSystem = FMODUnity.RuntimeManager.StudioSystem;
FMOD.Studio.CPU_USAGE cpuUsage;
studioSystem.getCPUUsage(out cpuUsage);var coreSystem = FMODUnity.RuntimeManager.CoreSystem;
uint version;
coreSystem.getVersion(out version);

10.2 Unity Inspector 中的瀏覽器 UI

您可以使用以下方法之一訪問自定義 FMOD UI 以選擇事件、庫和全局參數:

10.2.1 事件

使用 EventReference 類型來保存對 Event 的引用。

public class EventReferenceTest : MonoBehaviour
{public FMODUnity.EventReference MyEvent;
}

您將看到以下 UI:
請添加圖片描述

10.2.2 BANK

在用于保存 Bank 路徑的任何字符串屬性上使用屬性“[FMODUnity.BankRef]”。

public class BankRefTest : MonoBehaviour
{[FMODUnity.BankRef]public string MyBank1;
}

您將看到以下 UI:
請添加圖片描述

10.2.3 全局參數

在用于保存全局參數路徑的任何字符串屬性上使用屬性“[FMODUnity.ParamRef]”。

public class ParamRefTest : MonoBehaviour
{[FMODUnity.ParamRef]public string MyParam1;
}

您將看到以下 UI:
請添加圖片描述

11 FMOD 主頁鏈接

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/web/24567.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/24567.shtml
英文地址,請注明出處:http://en.pswp.cn/web/24567.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java鎖的四種狀態(無鎖、偏向級鎖、輕量級鎖、重量級鎖)

介紹 首先&#xff0c;我們需要明確一點&#xff1a;偏向級鎖、輕量級鎖、重量級鎖只針對synchronized 鎖的狀態總共有四種&#xff0c;級別由低到高依次為&#xff1a;無鎖、偏向鎖、輕量級鎖、重量級鎖。 這四種鎖狀態分別代表什么&#xff0c;為什么會有鎖升級&#xff…

在UI界面中實現3d人物展示

簡要原理(設置雙攝像機): 為需要展示的3D人物單獨設置一個攝像機(只設置為渲染人物層級),主要攝像機的方向與人物方向一致,但攝像機需要需要旋轉180,設置的角度自行進行微調創建一個Render Texture類型的組件用于存儲攝像機渲染的內容UI上設置需要展示的圖片區域,圖片…

遍歷目錄

自學python如何成為大佬(目錄):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 遍歷在漢語中的意思是全部走遍&#xff0c;到處周游。在Python中&#xff0c;遍歷是將指定的目錄下的全部目錄&#xff08;包括子目錄&#xff09;及…

聰明人社交的基本順序:千萬別搞反了,越早明白越好

聰明人社交的基本順序&#xff1a;千萬別搞反了&#xff0c;越早明白越好 國學文化 德魯克博雅管理 2024-03-27 17:00 作者&#xff1a;方小格 來源&#xff1a;國學文化&#xff08;gxwh001&#xff09; 導語 比一個好的圈子更重要的&#xff0c;是自己優質的能力。 唐詩宋…

【重學C語言】十九、SDL2 圖形化編程的使用

【重學C語言】十九、SDL2 圖形化編程的使用 SDL2 的第一個程序渲染器紋理渲染1. 紋理的概念2. 加載紋理3. 渲染紋理4. 紋理設置和查詢5. 紋理渲染流程6. 注意事項SDL2_imageSDL2 的第一個程序 #define SDL_MAIN_HANDLED #include <SDL.h>int main(int argc, char* argv[…

AH股高開低走,創業板跌超2%,寧德時代下挫6%,微盤股指數反彈超5%

創業板跌2%&#xff0c;權重股寧德時代跌近6%&#xff1b;地產、光刻機概念股逆勢大漲&#xff1b;券商股午后集體下跌&#xff0c;天風證券一度跌停。微盤股指數經歷連跌后早盤反彈超5%。 內容提要 周五&#xff0c;A股高開后回落&#xff0c;午盤震蕩回升。截至收盤&#x…

python-Bert(谷歌非官方產品)模型基礎筆記0.1.096

python-bert模型基礎筆記0.1.015 TODOLIST官網中的微調樣例代碼Bert模型的微調限制Bert的適合的場景Bert多語言和中文模型Bert模型兩大類官方建議模型Bert模型中名字的含義Bert模型包含的文件Bert系列模型參數介紹微調與遷移學習區別Bert微調的方式Pre-training和Fine-tuning區…

Python可視化 | 使用matplotlib繪制面積圖示例

面積圖是數據可視化中的一個有效工具&#xff0c;用于說明時間上的關系和趨勢。它們提供了一種全面的、視覺上迷人的方法&#xff0c;通過熟練地將折線圖的可讀性與填充區域的吸引力相結合來呈現數值數據。 在本文中&#xff0c;我們將學習更多關于在Python中創建面積折線圖的…

【python】python指南(二):命令行參數解析器ArgumentParser

一、引言 對于算法工程師來說&#xff0c;語言從來都不是關鍵&#xff0c;關鍵是快速學習以及解決問題的能力。大學的時候參加ACM/ICPC一直使用的是C語言&#xff0c;實習的時候做一個算法策略后臺用的是php&#xff0c;畢業后做策略算法開發&#xff0c;因為要用spark&#x…

24考研408大變化,25考研高分上岸規劃+應對策略

巧了&#xff0c;我有現成的經驗&#xff1a; 數學和專業課的成績都不高不低&#xff0c;剛好夠用&#xff0c;其實408想上岸&#xff0c;不僅僅要學好408&#xff0c;還要學好考研數學&#xff0c;這是我的肺腑之言&#xff0c;我復試的時候&#xff0c;我知道的那些沒有進復試…

高通SDX12:Voice Over USB 功能調試

一、功能概述及使用環境 Linux PC 作為上位機,內置 SLIC基于高通 SDX12 平臺的設備作為從設備,通過USB連接到 Linux PC 上,在 PC 上枚舉 UAC 設備從設備進行 MO/MT Call 時,上位機使用 arecord 進行錄音,音頻數據通過 USB 傳至上位機,上位機停止錄音后再使用 aplay 進行播…

vue element 接口返回數據與控制臺打印數據不一致 踩坑

問題描述&#xff1a; 接口返回數據正常&#xff0c;&#xff0c;控制臺打印不對&#xff0c;element el-switch表格中使用&#xff0c;控制臺打印數據被改變 如下正常數據 數據id 17狀態是0 控制臺打印狀態卻是1 造成原因&#xff1a; element el-seitch組件修改了狀態 修…

解決方案:昇騰aarch64服務器安裝CUDA+GCC+CMake,編譯安裝Pytorch,華為昇騰HPC服務器深度學習環境安裝全流程

目錄 一、安裝CUDA和cudnn1.1、下載CUDA驅動1.2、安裝CUDA驅動1.3、配置環境變量1.4、安裝cudnn1.5、安裝magma-cuda 二、安裝gcc編譯器三、安裝CMake四、安裝NCCL五、編譯安裝Pytorch5.1、前提準備5.2、下載pytorch源碼5.3、配置環境變量5.4、Pytorch編譯安裝5.5、測試Pytorch…

Python教程:Python操作MySQL基礎使用

8、Python操作MySQL基礎使用 8.1 安裝pymysql pip install pymysql8.2 測試連接 測試代碼 from pymysql import Connection# 獲取到MySQL數據庫的鏈接對象 conn Connection(# 主機名hostlocalhost,# 端口號,默認3306port3306,# 賬戶名userroot,# 密碼password3535 )# 打印…

日志分析集群最新版

日志分析集群-8版本 作者&#xff1a;行癲&#xff08;盜版必究&#xff09; 第一部分&#xff1a;Elasticsearch 一&#xff1a;環境準備 1.簡介 ? 部署模式&#xff1a;es集群采用無主模式 ? es版本&#xff1a;8.13.4 ? jdk版本&#xff1a;使用es內嵌的jdk21&#x…

GAT1399協議分析(10)--單圖像刪除

一、官方接口 由于批量刪除的接口&#xff0c;圖像只能單獨刪除。 二、wireshark實例 這個接口比較簡單&#xff0c;調用request delete即可 文本化&#xff1a; DELETE /VIID/Images/34078100001190001002012024060513561300065 HTTP/1.1 Host: 10.0.201.56:31400 User-Age…

【sklearn】【邏輯回歸1】

學習筆記來自&#xff1a; 所用的庫和版本大家參考&#xff1a; Python 3.7.1Scikit-learn 0.20.1 Numpy 1.15.4, Pandas 0.23.4, Matplotlib 3.0.2, SciPy 1.1.0 1 概述 1.1 名為“回歸”的分類器 在過去的四周中&#xff0c;我們接觸了不少帶“回歸”二字的算法&#xf…

生物神經網絡 原理分析研讀02

可能有用基礎介紹 人類交互1 大腦視覺的處理過程 人類交互2 聽覺處理和語言中樞 人類交互3 皮膚感覺與運動系統 人類交互4 感覺輸入和運動輸出 人類交互5 大腦信號編碼與解碼 相關材料分析研讀 當前為了實現人工智能的兩個主流技術是深度學習和類腦計算&#xff0c;深度學習…

linux防止nmap掃描

1、首先關閉Centos7自帶的firewalld [rootnode ~]# systemctl disable firewalld.service && systemctl stop firewalld.service 2、安裝iptables服務 [rootnode ~]# yum install iptables-services iptables-devel -y [rootnode ~]# systemctl enable iptables …

【Vue】練習-Vuex中的值和組件中的input雙向綁定

目標 實時輸入&#xff0c;實時更新&#xff0c;鞏固 mutations 傳參語法 實現步驟 代碼示例 App.vue <input :value"count" input"handleInput" type"text"> <script>export default {methods: {handleInput (e) {// 1. 實時獲取…