大家好,今天小白给大家简单分享下最近了解到的一款高通的音频插件相关的内容,欢迎一起交流学习。
1、插件组成
像其他插件使用方法一样,首先将该插件导入,导入后可以看到在Assets下多了几个文件夹,有Editor,Plugins,Q3DAudio这几个,导航到GameObject--->Audio栏下,可以看到增加了Q3DTools,Q3DAudioGlobalSettings,Q3DAudioRoom,Q3DAudioSource项,其中Q3DTools的还有一层子菜单,里面有:ReverbZonesToQ3DAudioRooms,AudioSourcesToQ3DAudioSources。
2、Editor目录
Editor目录下有三个脚本,Q3DAudioGlobalSettingEditor.cs,Q3DAudioRoomRditor.cs,Q3DAudioSourceEditor.cs。
Q3DAudioSourceEditor.cs主要功能就是在Unity UI工具栏的GameObject/Audio下创建Q3DAudioSource选项、Q3DTools/AudioSourcesToQ3DAudioSources选项以及Q3D Audio Source的Inspector(属性)相关项。
Q3DAudioRoomRditor.cs脚本的主要功能是在工具栏GameObject/Audio下创建Q3DAudioRoom选项,Q3DTools/ReverbZonesToQ3DAudioRooms选项,以及创建 Q3D Audio Room的Inspector相关项。
Q3DAudioGlobalSettingEditor.cs脚本的主要功能是在工具栏GameObject/Audio下创建Q3DAudioGlobalSettings选项,以及创建创建组件Q3DAudioGlobalSettings的Inspector相关项。这个目录下的三个脚本主要功能就是在Unity的Audio Source组件栏里面添加高通自己的音频组件选项以及属性项。
3、Plugins目录
该目录下存放了不同平台下(包括Android平台、X86平台、X86_64平台)所需要动态库,每个动态库的具体用途暂时还不太清楚,留待以后学习后,再做进一步的补充。
4、Q3DAudio目录
该目录下有两个子目录,一个是Pluginlibs目录,该目录下也是不同平台所依赖的动态库,即q3daudio_release.xx,q3daudio_debug.xx(其中.xx代表.so或者.dll、适用于不同平台。),一个用于release模式,另一个用debug模式。
还有一个目录Scripts目录,该目录下存放了5个脚本,分别是:Q3DAudioGlobalSettings.cs、Q3DAudioListener.cs、Q3DAudioManager.cs、Q3DAudioRoom.cs、Q3DAudioSource.cs。
Q3DAudioSource.cs的主要作用是将Q3DAudioSource的Inspector栏的选择属性值设置到相应的音频源中。Q3DAudioSource继承了音频源中的灰显参数,并添加了一些特定于音频的Q3D参数,包括空间化(Spatialize)属性、增益(Gain)、衰减相关属性(距离衰减最小值、距离衰减最大值、撒衰减方式等。)
Q3DAudioRoom.cs该脚本主要作用设置混响相关属性值,添加的属性值有:增益,时间调整(TmeAdjust,缩放混响尾音),亮度调整(BrightAdjust,高低频混响比)、干湿比(witmix)、音响室尺寸(x:左右;y:上下;z:前后,3个参数主要是用于描述玩家的空间位置)、音响室墙的材质,天花板的材质,地板的材质。Q3D Audio Room继承自Unity的Audio Reverb Zone,主要是为了实现一些定制化的混音效果。
Q3DAudioGlobalSettings.cs主要将该组件进行一些全局的设置,包括在不同平台上打开/禁止该组件,选择不同平台的log等,还可以自动检测有单声道音频片断的音频源,然后将其转换为3D音频声音对象。
Q3DAudioListener.cs主要将Q3D Audio Room相关设置赋值给Q3D Audio Manager。
Q3DAudioManager.cs实现了对插件的部分管理功能。(log打印实现,Q3DAudioRoom参数定义以及设置,空间化单声道音源,应用退出处理等)
5、总结
本篇博客主要是简单介绍了该款插件的主要各个目录下一些重要文件的主要作用,更多详细的内容还需要在以后的学习中逐步了解,有理解不当的地方,欢迎指正。