下面就是Jacob Minkoff,之前《美國末日》的首席設計師,解釋的當喬爾在戰(zhàn)斗時,這種射線技術的工作原理:“當你按下拳擊鍵的時候,喬爾的拳頭在游戲世界的周圍發(fā)射出一束射線,同時發(fā)出這信號‘附近有什么?’。哦,這附近有一堵墻?;蚴歉浇幸粡堊雷印K匀绻惆聪氯瓝翩I產生互動,游戲就會讓喬爾打到一面墻上(或桌子上)。
另外一個《美國末日》中關于射線原理運用的例子是,游戲如何利用射線原理來確認艾莉相對于喬爾所在的位置。
上圖中展示了從喬爾身上發(fā)出的射線是怎樣確認艾莉的潛在位置的。 其他的射線則回應其他的問題,如某個點是否被一個物體擋住了,艾莉是否能看到前面,是否能看到喬爾等等。當游戲中的人物穿墻時,說明射線程序出現了問題,沒有給出正確的反饋。
延遲渲染(Deferred Rendering)
在這里,我們確實不想對相關的技術做深入的解釋,對這個概念,我們簡單地介紹一些皮毛,因為這里面有太多的變量和選項。這項技術的主要內容就是,你在屏幕上看到的東西并不是一步渲染完成的。游戲并不是拍攝一個虛擬世界并直接呈現在玩家的眼前,而是通過平面分層的形式,分不同的特征和細節(jié)依次呈現出來。
下面這張GIF圖片就展示了《殺戮地帶2》是如何依次分層渲染一個場景的,每一個層都計算和處理不同的元素。打個比方就是,每層依次渲染了光效、陰影、色彩、材質等內容,以此創(chuàng)造出一張游戲正在模仿的平面2D圖。
這就是后續(xù)處理事項的順序,就像這項技術名字所表示的那樣,一些效果是在基本的游戲場景渲染完之后才進一步渲染到游戲中的,例如游戲中的動態(tài)模糊效果和場景中細微的粒子效果。這些都是在游戲各種著色器和光影效果完成之后,才進一步完整逼真地呈現出來的。
著色器(Shaders)
著色器的種類非常多,我們?yōu)榱撕唵纹鹨娋椭唤榻B頂點著色器(vertex shaders)和像素著色器(pixel shaders),展示這些東西可以處理的兩種主要效果——改變游戲中的光影效果或是像素位置。像素映射(Pixel mapping)一般會影響色彩和光效,同時也可以在光效下影響表面像素的位置??聪旅孢@張圖:
圖中展示了一個平滑的球、一個凹凸貼圖(一般的材質都是黑白相間的)以及兩者整合到一起后就可以做出的一個很像橘子的物體。
自由美利堅...
到自助洗車店,品百態(tài)人生。
GHS還是第一生產力