集成教程:
【游戏音效】Unity集成Wwise并进行开发的全流程教程(一)准备工作
【游戏音效】Unity集成Wwise并进行开发的全流程教程(三)脚本接入Unity
前言
这一篇章大致讲一下Wwise的基础概念和常规设置。虽然不是音效开发人员,但是最好还是了解Wwise的基础功能,这样能方便我们自己快速测试效果。上一篇已经讲了按键生成之类相关的,如果对Wwise完全不了解的话,可以先看一下上一篇。
习惯用Unity的AuditoSource的同学,这里要分清楚,Wwise的使用概念和Untiy的并不相同。如下图,框起来的部分是指相同的部分。
Unity的AudioSource是一切操作的集合,包括设置播放,循环,音量等。而资源文件本身并没有进行任何改变,唯一的操作就是加载和卸载。
Wwise则是分成了音效属性和操作两个部分,再加多一个分包的概念。
提要
- Unity的AduioSource和Wwise的概念并不相同。AudioSource是全操作,而Wwise分为Event(操作事件)和资源(资源本身和资源属性)
- Wwise有分包概念,可以根据自己的项目的需求来定这个分包。资源少的话一个包也可以。但无论如何肯定需要一个包。
Event
这是音效操作的基础,无论是播放还是暂停,都是一个事件。而事件对于音效本身是不做处理的。
事件单纯是操作,如下图可见,是播放,停止,音量和状态等。除此之外,不做别的功能。可以理解为是对(音效)外的处理。
音效
音效是指我们导入项目的资源。比起Event,我们可以对资源做更多的处理。以下我就讲一些最常用的操作。
循环播放
在音乐播放结束后,继续紧接着播放同一个音乐。对应AudioSource的是Loop。
在Sound Property Editor面板,选择General Settings,右下有一个Loop选项,勾上即是循环播放。默认是不勾选。
3D音效
3D音效是指伴随监听者和音源的距离,所听到的音量会随之变化的效果。对应AudioSource的是2d-3d的滑动条。
1.在Sound Property Editor面板,选择Positioning模块,勾选Listener Relative Routing,勾选Attenuation。默认是都勾选了的。
2.需要添加Attenuation的事件。点击>>按钮新建一个。如果已经创建了可以选现有的。弹出面板后自定义命名点击OK按钮。
3.修改指数,重点是两个。
一个是距离。在Unity3d场景中,我觉得填30也差不多了。具体的可以导出在Unity里面对比着慢慢调。
一个是渐变指数。在这条红线上,任何点都可以双击设置关键点。也可以对着红线右键,选择平滑线。
SoundBank
SoundBank的概念是音效操作的集合,是分包。游戏中有不同类型的音效,战斗的,日常的,点击的等等。当音效资源比较大的时候,如果在游戏开始时就全部加载,这可能会照成一定的性能问题。为此,Wwise提出了分包的概念。将不同类型的资源分为不同的包,在操作音效前,先加载包,然后再加载相关音效。当然,也可以将所有资源都放到一个包内。这个具体要看自己项目的需求。但无论如何,肯定有一个包的。
如何生成SoundBank,上一篇已经讲了,这里就不重复了。这一次,重点讲一下生成出来的东西到底是什么。
示例是上一篇的生成。下图是最终生成的所有东西。English(US)文件夹里面是空的,所以重点是当前文件夹里面的文件。
(一).bnk文件是Wwise处理后的音效资源。
(二)Init.txt和SoundBank.txt是SoundBank的具体信息。打开来看,可以看到里面分别记录了事件信息和对应的音效信息。从我的SoundBank里可以看到,对应有Play_Close事件和所使用的Close资源的存放路径。
(三)SoundbanksInfo.xml是那些SoundBank配置文件的集合。
(四)PluginInfo.xml是一些平台设置。
这样很明显,如果需要知道Event对应的是哪个SoundBank的话,通过SoundbanksInfo.xml,我们就可以得到全部的信息。