一种基于Fmod控制游戏音量、音效的系统和方法

文档序号:9349736阅读:1889来源:国知局
一种基于Fmod控制游戏音量、音效的系统和方法
【技术领域】
[0001]本发明涉及一种基于Fmod控制游戏音量、音效的系统和方法,属于计算机游戏多媒体领域。
【背景技术】
[0002]音量和音效在游戏中有着举足轻重的作用。在游戏的设计和开发中,音效是一种重要的艺术表现表现形式之一。Fmod音频开发引擎,能够让音效设计师设计好音效事件,程序员在游戏程序中播放出来,使得音效设计师和程序员之间沟通更加方便,大大减少了音效师和程序员之前的耦合。但是,依然有部分音量音效效果使用Fmod不便解决,例如,音效师使用Fmod stud1软件制作完成音效后,音效音量的大小已经确定,而在游戏过程中,需要根据具体情况进行具体调整,具体实例如下所示:
I)游戏中有很多音效模块,如:游戏背景声音,脚步声、怪物叫声、打击碰撞声、环境底噪、技能音量音效等。如果音效模块版本发生变化,则需要在游戏中进行微调,或者在Fmod逐一进行微调,而且在调整后还需要进行重新编译。
[0003]2)游戏中,在播放背景音乐、脚步音效,环境底噪、打击音效时,突然播放一种爆炸的
音效时,而背景声音却比较嘈杂,无法清楚的听到爆炸音效,这时候就会给玩家一种噪音的感觉。然而,游戏设计者的目的是让爆炸产生时,降低其他音效对爆炸声的影响,使玩家清晰的听到爆炸声,感觉爆炸音效带来的冲击感。
[0004]3)游戏中,有一些特殊的音效处理,例如,汽车发动机的声音,在启动、缓慢行驶、中速行驶、高速行驶的阶段音效各不一样,这样可以构建一个组件来管理,方便快捷的管理这类音效线性和跳跃性变化。
[0005]4)在不同的平台,不同的设备上,音效表现出的效果是不一样的,但是每增加一套就表示成本的增加。例如在音箱中的音效听起来比较标准,而在手机中听起来像噪音,这样可以使用频率均衡器调整其频率,过滤某些频率,使音效听起来偏薄一点,但不至于像噪
■~>V.曰O
[0006]对于上面的效果,需要程序员和音效师单独进行编写程序。但是游戏程序有大量相同的类似的音效需求,如果每个效果都需要单独编写,这意味着低下的效率,更多的成本和繁杂的编写过程,或者实现过程中,游戏音效的渐变细节没有处理好,降低了音效的表现效果。

【发明内容】

[0007]针对现有技术低下的开发效率、复杂的开发过程和高昂的开发费用,本发明提供了一种基于Fmod控制游戏音量,音效的系统和方法,使游戏中的音量、音效开发变得简便、高效、低成本。
[0008]本发明的技术方案采用Fmod音效引擎和Iua脚本编程技术。其中,Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译和运行,同时Lua是解释性的语言,修改后便可以执行,无须编译。Fmod拥有众多的布告板,能有快速解决相关的问题,同时它拥有稳定和成熟的库文件,能够提供所有通用音频的良好支持,方便的添加声音文件到应用中,且不需要考虑手工编码。
[0009]本发明包括一种基于Fmod控制游戏音量、音效的系统,该系统包括:音量、音效分类管理器,用于对游戏的音量、音效进行分类,在Fmod中建立对应的音量组、音效组,创建分类数据表以存储音量组、音效组,同时能够对分类数据表进行编辑;文件配置器,用于将音量组和音效组数据表导出并封装为Iua配置文件;音量管理器,在游戏程序运行时,用于解析并加载Iua配置文件的音量组部分,调用音量控制组件根据Iua配置文件初始化游戏程序启动时默认的环境音量,确定游戏程序总音量;音效管理器,在游戏程序运行时,用于解析并加载Iua配置文件的音效组部分,获取Iua配置文件中的默认音效音量,同时记录默认音效,根据音效行为变化调用相应的组件进行处理,其中音效包括音效行为和音效音量。
[0010]进一步,所述音量、音效分类管理器包括:分类模块,用于根据游戏程序中不同的音量、音效类型以及音效行为变化、音效音量变化对音量、音效进行分类,并在Fmod中建立对应的音量组和音效组;存储模块,用于对Fmod建立的音效组、音量组使用分类数据表进行建立、存储和编辑,同时能够对接收编辑请求对分类数据表进行对应编辑。
[0011]进一步,所述的文件配置器包括:封装模块,用于将分类数据表导入到Iua编辑器中封装成音量组、音效组配置文件。
[0012]进一步,所述的音量管理器包括:音量解析模块,用于调用游戏程序的Iua文件解析器对Iua音量组配置文件进行解析,并加载解析后的音量组配置文件;音量初始化模块,用于对游戏程序启动时调用初始化函数依照配置文件初始化默认环境音量;总音量管理模块,确定游戏程序的总音量为游戏程序初始默认环境音量乘以当前音效音量。
[0013]进一步,所述的音效管理器包括:音效解析模块,用于调用游戏程序的Iua文件解析器对音效组配置文件进行解析,加载解析后的音效组配置文件;音量线性差值组件,用于在游戏程序运行过程中,音效行为阶段性变化导致音效音量阶段性变化时线性计算当前音效音量;
音效参数编辑组件,用于需要对游戏程序增加或修改新的音效行为的逻辑时,对音效组中的音效行为参数进行相应的编辑以产生新的音效;动态均衡器管理组件,用于在游戏程序运行时,动态的调整频率,增强音效效果;阶段音效控制组件,用于在Fmod编辑器创建阶段性音效的各阶段的音效行为、音效音量,当音效行为产生变化时,根据对应Fmod中阶段性音效变化对音效行为、音效音量进行线性或跳跃过渡处理;所述的阶段音效控制组件还包括音效音量、音效行为自定义编辑,用于组件需要对音效音量、音效行为进行编辑时,使用接口函数向对应分类数据表存储模块发送编辑请求,请求完成后,对音效音量、音效行为进行对应编辑。向对应分类数据表发送编辑请求,请求完成后,对应的音量、音效进行对应编辑。
[0014]本发明包括一种基于Fmod控制游戏音量、音效的方法,该方法的技术方案包括:游戏的音量、音效进行分类,在Fmod中建立对应的音量组、音效组,创建分类数据表以存储音量组、音效组,同时能够对分类数据表进行编辑;将音量组和音效组数据表导出并封装为Iua配置文件;在游戏程序运行时,解析并加载Iua配置文件的音量组部分,调用音量控制组件根据Iua配置文件初始化游戏程序启动时默认的环境音量,处理特殊音效的音效音量,确定游戏程序总音量;
进一步,所述的基于Fmod音量、音效管理方法还包括:据游戏程序中不同的音量、音效类型以及音效行为变化、音效音量变化对音量、音效进行分类,并在Fmod中建立对应的音量组和音效组;对Fmod建立的音效组、音量组使用分类数据表进行建立、存储和编辑,同时能够对接收编辑请求对分类数据表进行对应编辑。
[0015]进一步,所述的基于Fmod音量,音效管理的方法还包括:接收编辑请求对分类数据表进行新增或修改;对接收的新增、修改的请求依次执行分类处理、使用Iua编辑器封装为配置文件、将配置文件发送给对应的解析器、解析的配置文件发送给音量管理器或音效管理器。
[0016]进一步,所述的基于Fmod音量,音效管理的方法还包括:调用游戏程序的Iua文件解析器对Iua音量组配置文件进行解析,并加载解析后的音量组配置文件;对游戏程序启动时调用初始化函数依照配置文件初始化默认环境音量;在游戏程序运行时,记录音效、音量的变化数据,同时,还用于处理特殊音效音量,当出现特设音效时,对非特殊音效音量和环境音量进行压缩处理,使得特殊音效音量能够显现出来;确定游戏程序的总音量为游戏程序初始默认环境音量乘以当前音效音量。
[0017]进一步,所述的基于Fmod音量,音效管理的方法还包括:调用游戏程序的Iua文件解析器对音效组配置文件进行解析,加载解析后的音效组配置文件;在游戏程序运行过程中,音效行为阶段性变化导致音效音量阶段性变化时线性计算当前音效音量;对
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1