游戏音频技术备忘 (六)Wwise Unreal Engine 集成代码浅析 (三)
AkAudio.Build.cs通过UBT实现逻辑相关代码生成,Wwise的第三方插件库通过AddWwiseLib()添加,Unreal Engine的BuildConfiguration全局参数作为条件在这里决定Wwise库的版本,用于发行的Release版本库是关闭连接调试功能的。
WwisePicker通过UE的Slate框架实现一个简易的Wwise Event浏览器,可以在Unreal Editor内读取Wwise工程的数据,进而可通过拖拽操作生成 AkAudioEvent 和AkAuxBus类资产(拖拽操作的实现在WwiseEventDragDropOp),
AkAudioBankGenerationHelpers类的实现 在Unreal Editor中生成Bank数据,通过最终调用Wwise命令行工具实现,可以添加flag来自定义生成各阶段的相关逻辑,同时这里的生成路径是hard coding的,可优化为暴露的用户自定义配置。
AkComponentVisualizer类的实现 可视化3D声音的衰减半径,前提条件是Bank数据包含JSON格式的元数据,且要包含Max attenuation数据,在Wwise编辑器的Project Settings - SoundBanks页面可设置。
各个AssetTypeActions类实现 Unreal Editor 内Ak资产相关菜单操作功能,各个Factory类通过工厂模式实现实例创建相关逻辑。
AudiokineticToolsModule 类的实现 Unreal Editor内各Wwise相关功能的实现,例如插件路径校验,Ak动画通知相关,重定向器相关,PIE相关等。
AudiokineticTools.Build.cs 通过UBT实现工具相关代码生成。
至此大体的 Wwise Unreal Engine 集成代码分析完毕。