Unity Wwise基础使用
概述Wwise作为音频引擎,由音频人员处理音频资源后导入Unity工程。Wwise提供Unity插件,控制导入资源播放使用。本章记录Wwise在Unity的使用。
一、环境配置
1.1 下载安装Wwise Launcher
1.2 安装Wwise引擎
内网离线安装若中途报错,删除 C:\Program Files (x86)\Audiokinetic\Data\install-table.json后,重新安装。
1.3 安装Unity插件
若手动指定Unity.exe后出现无法识别版本的问题,需要手动解压离线版本,并将解压后的Wwise放到Unity工程下。
加载插件到Unity
1.4 创建Wwise工程
1.5 Unity设置
Editor -> Project Setting -> Wwise Editor
设置完成后打开WIndow -> Wwise Picker,可以看到Unity与Wwise工程连接成功。
其它设置参考:
二、Wwise基础功能
2.1 基础概念
[*]event:Wwise的音效播放通过事件驱动。Wwise可以看做一个状态机,不同事件设置相应的状态。
[*]state、switch:相同的event在不同情况下需要有不同处理方式,state与switch的作用类似,都可以标记event的不同状态。不同点在于资源的制作,switch可以直接切换,state必须指定切换的方式。
[*]bank:Bank是event的集合或者容器,类似于AB包与资源的关系。想要播放声音,必须要加载相应的Bank。
[*]2D & 3D音效:2D音效以恒定的音量播放,3D音效根据3D空间距离动态控制音量。Wwise中的音效播放都需要传场景对象,对于2D音效来说,播放和接收声音是同一个对象。
[*]RTPC:Wwise工程中通过RTPC和特定对象的属性关联,这样就可以通过一个参数精准控制特定属性。常见于特定轨道的音量调整。
2.2 Unity初始化
public void Init()
{
GameObject global = new GameObject(m_WwiseGlobalPrefabName);
global.SetActive(false);
GameObject.DontDestroyOnLoad(global);
AkInitializer akInitializer = global.AddComponent<AkInitializer>();
object settingObj = Resources.Load(&#34;AkWwiseInitializationSettings&#34;);
if (settingObj != null)
{
AkWwiseInitializationSettings settings = settingObj as AkWwiseInitializationSettings;
akInitializer.InitializationSettings = settings;
global.SetActive(true);
}
}
通过AkInitializer组件进行初始化,老版本可能没有InitializationSettings。
2.3 Wwise与Unity播放音效
// 加载Bank
AkBankManager.LoadBank(&#34;FirstBank&#34;, true, true);
// 通过event播放音效
AkSoundEngine.PostEvent(in_eventID, gameObject, m_CallbackType, finishCallback, null);
// 设置音量
AkSoundEngine.SetGameObjectOutputBusVolume(gameObject, listener, volume);
由于event归属于Bank,必须要先加载Bank才能抛事件。通过AkBankManager或AkBank进行加载。
2.4 清理
AkSoundEngine.ClearBanks();
参考
[*]Unity集成Wwise并进行开发的全流程教程
[*]无法识别Unity版本
[*]Wwise用户文档
页:
[1]