中级18/限制,优先级,多重播放禁止
在游戏音频表现中经常出现一种问题,多个相同或不同的音频内容同时发声,使得表现不好以及性能消耗增高。
在常规的音频开发流程中往往需要程序添加脚本用以控制播放逻辑使得播放表现自然,并减少同时的发声数量以保证性能。
使用Atom Craft则可以直接在其中设置发声限制和优先级,使得声音设计师能够自主的控制哪些最优先发声,哪些应该被打断。
限制介绍
Atom Craft中共有3种限制方式,分别为Cue限制,类别(Category)限制以及Voice限制。
Cue限制:通过限制Cue内Track的发声数量,限制一个Cue中的总发声数。
如上图所示,在Inspector中的Cue标签找到Cue limit,可以更改限制播放的数量以及限制播放的播放规则。
Last Priority:表示最后播放的优先级更高,当超出播放限制数量后,后播放的会顶替最初播放的进行播放。
First Priority:表示先播放的优先级更高,当超出播放限制数量后,先播放的会继续播放,后播放的不能播放。
类别(Category)限制:通过限制类别中的所有Cue的播放数量,限制在该类别中总的发声数。类别限制中有优先级的概念,可以设置每个Cue的优先级。
如图所示我们选择类别(Category)在List Editor中更改Category Cue Limit flag用以启用类别限制数量,同时更改Cue limit for Category用以管理类别限制的总播放数量。
上图显示的是优先级的设置,优先级表示一个Cue在Category中的优先级,可填写范围为0-255,数字越大则表示优先级越高。
Voice限制:Voice限制表示在Voice限制组中的所有Voice能够发声的数量。
如图所示,创建一个Voice limit Group,将需要Voice限制的Cue拖入到限制组中,同时在List Editor中更改限制总数即可。
批量调整
上述内容均可批量调整。
如图,可以进行批量调整,方便快捷的处理限制内容。
多重播放禁止
多重播放禁止:播放该Cue后,在限定时间内不能再次播放该Cue。这个可以理解为CoolDown的机制,即冷却时间。当第一次Cue播放时开始进入冷却时间,在冷却时间还未结束,Cue无法被再次播放,在冷却时间结束后,Cue可以再次播放。
如上图,选择Cue后可以再Inspector中设置其Multiple Playback Prohibition Time。即为修改多重播放禁止时间。完成后即可设定该Cue的多重播放禁止时间。
Voice Behavior
Voice Behavior定义了声音在播放时的行为,在上述内容中我们通过更改限制来控制游戏内音频的发声模式、数量等,优化的声音表现和性能。
但不可否认的是如果我们直接采取数量控住,强制中断音频也会出现其他的表现问题。
例如一段音乐,当音频数量较多时该音乐的存在价值较低,其他音频的表现优先级较高,那么我们可以通过数量使得音乐消失。那么就会出现如此的一个问题,如果音频反复增多和减少,为了表现较好不得不在音频减少的时候再次播放音乐。如此一来音乐就会不断的播放,停止,再播放,再停止。每次播放都是音乐的开头,听的次数多了则会产生记忆点和厌烦。
Voice Behavior解决了这一问题。其主要有3种模式:Voice Stop,Virtual Voice以及Virtual Voice Retrigger。
Voice Stop(at volume 0):当声音的音量为0时,声音将会停止。(这里的声音音量为0并不指代响度为0,而是Atom Craft中的逻辑音量为0)
Virtual Voice(Stop at volume 0,Playback at current position):当声音的音量为0时将会停止播放声音,但会将声音放置在虚部,然后跟随时间持续推进时间线,直至结束。如果是循环播放则会遵循循环,直至声音再次发声回到实部或者触发停止播放。当再次发声回到实部时,按照当前时间轴推进位置继续播放
Virtual Voice Retrigger(Stop at volume 0,Playback from beginning):当声音的音量为0时将会停止播放声音,但会将声音放置在虚部。当声音回到实部时从声音的开始位置进行播放。
如上图,可以更改Voice Behavior的内容。