2010-08-30 15:12 来源:PConline 作者:太平洋游戏网·Kel
许多人说,滚轮狗跳之所以被禁止,是因为它声音小,速度与跑步几乎没有分别,这些都没错,但是这并不是禁止它的全部原因,之所以各种赛事都禁止它,还有更深的一些技术上的原因。
首先我们要来了解一下,与这个BUG相关的一些知识。
CS中的人物是由2种模型来控制的,一种是model,也就是人物外观模型;还有一种,叫Hitbox,也就是实际打击模型,也称之为“有效命中体”。如下图所示:
20个射击模块分别是:骨盆、2大腿、2小腿、2脚、3个脊背模块(上、中、下)、颈、头、2肩、2上臂、2前臂和2手。
不同的射击模块有不同的伤害值。击中胸部比击中手部会造成更多的伤害。在身体同一部分的模块会有同样的伤害值,例如手、前臂和上臂就有同样的伤害值。因此射击模块可以划分为臂部、腿部、胸部、臀部和头部。头部拥有最大的伤害,其次是臀部、胸部、腿部和手部。model(模型)存贮在.mdl文件中(人物模型文件),在cstrik/models文件夹下。这些文件保存着准确并且精确的数据。但是,cs一旦读取了这些数据,会在最终使用这些数据之前进行大量的运行处理。在这个处理过程中的bugs会导致在游戏运行中的hitbox的实际位置同在人物model文件中显示的不同。目前这样的BUG基本没有了。
那么大家可以了解到,model与Hitbox并不是密不可分的,大体上来说model就像是衣服,Hitbox就是身体。Hitbox会根据玩家作出的任何指令来作出相应的动作,根据Hitbox的动作,附在Hitbox上的model也会作出响应,然后形成了你眼中的人物动作,这些动作的改变之间,Hitbox与model之间会有一定的因为时间差造成的实际差距,但是微弱的几乎不可察觉。
当玩家将滚轮绑定蹲键时,每一次的滚轮滚动都会根据你滚轮的响应速度以及频率来触发相应的“蹲下+站起”这个动作的次数,那么当一个人,不停的使用滚轮进行狗跳移动时,Hitbox就会不停的进行短时间高频率的“蹲下+站起”指令重复,这里的短时间可不是5秒左右,是指的一秒之内,以我的G500为例,我每次进行一次狗跳时的滚轮拨动,大概会触动9个滚轮齿格,假设每触动一个滚轮齿格会进行3次“蹲下站起”,那么我每滚动一次滚轮就进行了27次“蹲下站起,而滚动一次滚轮只需要大概1/3秒的时间,也就是说我一秒内可以进行81次“蹲下站起”,这样高频率的身体动作指令会带来什么影响呢?那就是Hitbox与model错位。
也就是说,当你在使用滚轮狗跳时,会有很大的几率,Hitbox与model的动作并不一致,以前面的比喻为例,Hitbox是人体,model是衣服,错位的时候就会出现,衣服是站着的,但是人体蹲下来了。这样会带来非常恶劣的不公平,当你面前有一个滚轮狗跳的敌人时,你面前显示的是model,model显示这个敌人是站立行走状态,你瞄准他的头部,也是model的头部,但是model并没有和Hitbox重合,Hitbox的动作是“下蹲还未站起”,这时候你开枪了,那么子弹就会穿过model,但并没有打击到Hitbox,也就不会有伤害判定,这就导致你“明明瞄准了人开枪,却怎么也打不到人”。
这样明显的BUG,当然要禁止,但是不知为什么这个原因并没有被广泛的传播,大家只知道滚轮快,声音小,认为用用没什么。
许多人说,滚轮狗跳之所以被禁止,是因为它声音小,速度与跑步几乎没有分别,这些都没错,但是这并不是禁止它的全部原因,之所以各种赛事都禁止它,还有更深的一些技术上的原因。
首先我们要来了解一下,与这个BUG相关的一些知识。
CS中的人物是由2种模型来控制的,一种是model,也就是人物外观模型;还有一种,叫Hitbox,也就是实际打击模型,也称之为“有效命中体”。如下图所示:
20个射击模块分别是:骨盆、2大腿、2小腿、2脚、3个脊背模块(上、中、下)、颈、头、2肩、2上臂、2前臂和2手。
不同的射击模块有不同的伤害值。击中胸部比击中手部会造成更多的伤害。在身体同一部分的模块会有同样的伤害值,例如手、前臂和上臂就有同样的伤害值。因此射击模块可以划分为臂部、腿部、胸部、臀部和头部。头部拥有最大的伤害,其次是臀部、胸部、腿部和手部。model(模型)存贮在.mdl文件中(人物模型文件),在cstrik/models文件夹下。这些文件保存着准确并且精确的数据。但是,cs一旦读取了这些数据,会在最终使用这些数据之前进行大量的运行处理。在这个处理过程中的bugs会导致在游戏运行中的hitbox的实际位置同在人物model文件中显示的不同。目前这样的BUG基本没有了。
那么大家可以了解到,model与Hitbox并不是密不可分的,大体上来说model就像是衣服,Hitbox就是身体。Hitbox会根据玩家作出的任何指令来作出相应的动作,根据Hitbox的动作,附在Hitbox上的model也会作出响应,然后形成了你眼中的人物动作,这些动作的改变之间,Hitbox与model之间会有一定的因为时间差造成的实际差距,但是微弱的几乎不可察觉。
当玩家将滚轮绑定蹲键时,每一次的滚轮滚动都会根据你滚轮的响应速度以及频率来触发相应的“蹲下+站起”这个动作的次数,那么当一个人,不停的使用滚轮进行狗跳移动时,Hitbox就会不停的进行短时间高频率的“蹲下+站起”指令重复,这里的短时间可不是5秒左右,是指的一秒之内,以我的G500为例,我每次进行一次狗跳时的滚轮拨动,大概会触动9个滚轮齿格,假设每触动一个滚轮齿格会进行3次“蹲下站起”,那么我每滚动一次滚轮就进行了27次“蹲下站起,而滚动一次滚轮只需要大概1/3秒的时间,也就是说我一秒内可以进行81次“蹲下站起”,这样高频率的身体动作指令会带来什么影响呢?那就是Hitbox与model错位。
也就是说,当你在使用滚轮狗跳时,会有很大的几率,Hitbox与model的动作并不一致,以前面的比喻为例,Hitbox是人体,model是衣服,错位的时候就会出现,衣服是站着的,但是人体蹲下来了。这样会带来非常恶劣的不公平,当你面前有一个滚轮狗跳的敌人时,你面前显示的是model,model显示这个敌人是站立行走状态,你瞄准他的头部,也是model的头部,但是model并没有和Hitbox重合,Hitbox的动作是“下蹲还未站起”,这时候你开枪了,那么子弹就会穿过model,但并没有打击到Hitbox,也就不会有伤害判定,这就导致你“明明瞄准了人开枪,却怎么也打不到人”。
这样明显的BUG,当然要禁止,但是不知为什么这个原因并没有被广泛的传播,大家只知道滚轮快,声音小,认为用用没什么。