|
在游戏音效工作当中,遇到了一个问题.
在打怪时,攻击命中是在攻击动作开始时做判断,就是说一开始施放某种技能,则同事判断掉血,并播放技能音效及命中音效.这是很多国产游戏普遍都有的一个音效规划失误.
比如:近战类攻击,动作本身有个旋转360°.该动作用时1秒. 而攻击命中判断却是在该动作起始位置.也就是说人还在天上转,并没有砍到怪的时候,怪物已经被判断掉血,且同时播放了命中音效及画面特效.
再比如更夸张的情况:一个远程职业,比如一个火箭筒兵.在端起火箭筒发射的时候,那边怪物已经被判断掉血.而这时火箭弹却还在天上飞.
WOW在这个方面做的很好,,比如一个法师发射一个火球,施法距离判断和火球飞行时间都由客户端来计算.当火球飞到距离怪物非常近的2-3码距离时,服务器再作技能及命中判断.这样也给服务器一个延时计算的时间.服务器在这2-3码飞行时间内计算是否命中以及根据命中否来判断是否需要播放命中音效.
很可惜,至少本公司的大作还无法解决这个问题.
本公司产品使用的是一种简单的补救方法,将所有技能固定延时播放.
比如动作长度1秒.就固定延时一秒播放命中音效.这个办法可以解决近战音画不同步问题.但是对于远程依然于事无补.
远程的话,玩家与怪物之间的距离不是定值,有远有近.所以从施放火箭弹,到火箭弹命中的延时是无法固定的.
所以简单通过延时来解决命中音效判断的问题是不行的.
不知道有没有同行在做的游戏工程也面临同样的问题.欢迎多交流.
|
|