三个对CS最大的谬误
稍微懂得一些編程原理的人都會知道,各種游戲里的人物只是由一些貼圖和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個多邊形來表示,多邊形越多頭部就越逼真) 。一個球體只需用兩個參數來表示:圓心和半徑,半徑是死的參數,表示頭部的大小,是無法改變的;圓心表示的是頭部的位置,是運動的。子彈一般直接用球體來表示,實際情況也不會用到多邊形,因為你根本就看不清它。下面就只要計算出你頭部圓心和子彈圓心之間的距離是否小于頭部半徑與子彈半徑之和就可以了,這個計算公式我就不寫了,學過立體幾何的人都知道。如果頭部和子彈之間的距離小于他們的半徑之和的話就說明你中彈了,反之則沒有,不管是身體的哪個部位都是如此 。
轉載于:https://www.cnblogs.com/xiaoyao128/archive/2006/11/20/566339.html
總結
以上是生活随笔為你收集整理的三个对CS最大的谬误的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Microsoft Office企业项目
- 下一篇: SharePoint Server 20