|
[心得] 三个对CS最大的谬误
4
6829
楼主
(1)人物的不同对武器使用有影响
稍微懂得一些编程原理的人都会知道 各种游戏里的人物只是由一些贴图和3D建模组成的 就像是贴在窗框上的纸一样 而不会对游戏本身产生什么影响 虽然某些RPG游戏会给人物设计一些属性 比如生命值 魔力值等等 但是要明白的是--CS不是RPG 如CS一类的FPS游戏和其他类型的游戏在编程和设计上有着本质的区别 更不会有什么隐藏属性 至于谁说的自己真的测试过 而且测试结果证明有影响 那我只能告诉你 因为CS里的所有枪械弹道都模拟了真实弹道 所以射出的子弹弹道会受到包括角度 射程 火力 射击距离 枪械种类等等因素的影响 所以才会产生“有影响”的错觉 !
(2)不同的武器跟AWP切枪有不同的速度 沙鹰最快
这个问题关系到CG制作知识 大家在CS中看到的所有手部动作和他人动作(包括上子弹 跳跃 蹲下 开枪 跑 走 等等)其实都只是一段段CG动画而已 在游戏制作完毕后把这些提前制作好的CG动画的编号再加入游戏源代码中 接着再调用 我们可以举个完成CG动画动作的例子 可以分成4步:
1。你在游戏中按下设定好的“蹲下”键 比如ctrl
2。向游戏源代码发出讯号 寻找“蹲下”键的响应信号
3。在源代码中寻找指定的CG和声音文件 并且播放
4。你在屏幕上看到了“蹲下”的动作
所以 说白了 各种动作都只是动画而已 而“切枪”实际上只是在AWP的CG动画和沙鹰的CG动画之间切换一样(别的抢切换也一样) 这个切枪的动作可以分成5步来理解:
1。换出AWP
2。AWP开枪
3。开枪之后AWP自动开始上子弹
4。在上子弹的动作开始一瞬间换副武器
5。完成
其实这5部的每一步都是在播放一段CG动画加一段音效 切枪的动作说白了其实就是用换出副武器的CG动画掐断AWP上子弹的CG 从而节省时间 所以说 这个和枪的种类没有任何关系 只是大家的一种误解 某些人可能是因为网络原因而导致切枪缓慢 跟枪种类没有关系
(3)CS分辨率和爆头率的关系
众所周知 游戏程序或其他很多程序都一样 内部数据计算一般都采用高精度浮点运算 以适应不同要求的输出 用Photoshop处理图片时 图片有“分辨率”这一参数(比如300DPI) 这个参数其实就是内部运算分辨率 跟显示器显示分辨率和打印分辨率是无关的 通常这个内部分辨率都远远高于显示分辨率 目的是尽量保证图片不失真 判断子弹是否击中头部 用游戏编程术语来说就是:子弹和头部时候发生“碰撞” “碰撞”很好理解 比如玩空战游戏时要尽量避免与敌机或子弹发生碰撞 否则会伤血或坠机 在任何一款商业游戏中处理碰撞问题时都不会以显示的象素点为依据 道理很简单 在低分辨率时会有马赛克现象 也就是说在各种分辨率下图形象素都有不规则性 不规则性的图形象素是很难用电脑来处理的(游戏都讲究效率问题) 何况CS游戏是3D游戏 更不可能是以象素来记录图形
我以简化的模式来说一下CS服务器的中弹(碰撞)处理过程 人的头部用计算机表示其实就是一个球体(实际情况会复杂一些 一般用N个多边形来表示 多边形越多头部就越逼真) 一个球体只需用两个参数来表示:圆心和半径 半径是死的参数 表示头部的大小 是无法改变的 圆心表示的是头部的位置 是运动的 子弹一般直接用球体来表示 实际情况也不会用到多边形 因为你根本就看不清它 下面就只要计算出你头部圆心和子弹圆心之间的距离是否小于头部半径与子弹半径之和就可以了 这个计算公式我就不写了 学过立体几何的人都知道 如果头部和子弹之间的距离小于他们的半径之和的话就说明你中弹了 反之则没有 不管是身体的哪个部位都是如此 |
|