本帖最后由 atila 于 2014-10-14 00:04 编辑
这是我最近试图编辑单位死亡音效时的一个发现:
众所周知,帝国时代2单位的死亡音效可以通过AGE进行编辑,具体编辑界面如下:
我们可以看到,一个“音效ID”包含了多个声音文件,比如步弓手死亡的音效ID是294,里面包含了6个wav文件(这个图里面有7个,我稍后解释)
这些文件存储在sounds.drs(部分存放在sounds_x1.drs中),根据设定里的“”随机播放,从而使单位的声音显得丰富。像步弓手死亡时就可能播放6种声音。今天我讨论的就是这个播放概率。
如果打开未编辑的data文件,会发现步弓手的六种死亡音效播放的概率和正好为15+20+20+15+15+15=100。其他单位也是如此。那么,我就有了个想法:如果这个概率总和超过了100会怎么样?就有了下面的实验。为了方便实验,我添加了第七个音效,是一个女性尖叫声。下面是实验结果:
假设序号为0~6的音效播放概率分别设置为x0~x6,我的实验及结果如下(实验具体过程是delete40个弓箭手,delete每两个之间的间隔为2游戏秒以保证音效完全播放): 1.设置x0=100,x1~x6=0
结果:大多数时候会播放音效0,但偶尔会有其他音效被播放
2.设置x0~x5=0,x6=100
结果:只有音效6被播放,没有其他音效被播放
3.设置x5=x6=100,x0~x4=0
结果:只有音效6被播放
4.设置x4=x5=100,x0~x3及x6=0
结果:大多数时候音效5被播放。偶有音效6被播放
经过上述实验,大致可以得出以下结论:关于优先播放哪个音效,完全由音效前面的数字决定: 帝国时代对于音效播放的机制是,先从数字编号大的音效开始分配概率,并用100%减去这个概率,再分配给编号较小的音效。如果在概率分配完之前,编号较大的音效所填写的概率是0,则系统会自动分配概率为1% 举例:在AGE中填写概率为x0~x3=0,x4=100,x5=100,x6=0,则实际分配概率为: X0~x4=0,x5=99,x6=1
下面是更多的实验结果,以证明该结论 1.设置x0=700,x1=600,x2=500,….,x6=100 结果:只有音效6被播放,其他音效没有被播放 2.设置x0~x4=0,x5=100,x6=70 结果:delete的40个步弓手中,有12个发出了音效5,28个发出了音效6,符合实际分配概率为x6=70,x5=100-70=30的理论 3.设置x0~x4=0,x5=30,x6=70 结果:delete的40个步弓手中,有11个发出了音效5,29个发出了音效6,与实验2相佐证。 4. 设置x0~x4=0,x5=100,x6=90 结果:delete的40个步弓手中,有6个发出了音效5,34个发出了音效6,符合实际分配概率为x6=90,x5=100-90=10的理论 5. 设置x0~x4=0,x5=10,x6=90 结果:delete的40个步弓手中,有3个发出了音效5,37个发出了音效6,与实验4相佐证。
以上。希望可以为各位带来一点帮助,解决一点困扰
|