青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++ Programmer's Cookbook

{C++ 基礎} {C++ 高級} {C#界面,C++核心算法} {設計模式} {C#基礎}

游戲引擎基礎(五)( 物理,運動,效果)

5部分: 物理,運動,效果


世界建造
  常常在建立一個含有任何3D成分的游戲時,你最終要試圖建立一個將會在里面產生游戲動作的3D環境。 不知怎么的游戲開發者提供了一個建立這種環境的方,它容易修改,有效率,有較低的多邊形數量,對于游戲既容易渲染又容易運用物理學。很簡單,對嗎?當做這個的時候我用左手在做什么?當做這的時候 , 我對我的左手做什么? 是的。不錯。

  雖然那里有許多3D結構程序,從CAD/CAM程序到3D Studio Max,建造游戲世界是不同于建造內部或外部世界的模型的尷尬。你有三角形數量問題 -- 任何給定的渲染器一次只能渲染這么多的多邊形,這對于天才的關卡設計師來說永遠都不夠。不知這些,你也只能每個關卡存儲預定數量的多邊形,所以即使你的渲染器能夠在視野中處理250000個多邊形,即使你只能在合理數量的空間中存儲500000個多邊形,那么取決于你怎么處理它,最后你的關卡價值像兩個房間那么小。不好。

  任何方法,開發者需要提出一個創作工具 -- 最好足夠靈活,允許游戲引擎需要的各種事物比如,在世界中放置對象,在進入游戲以前對關卡的適當預覽,以及準確的光照預覽。在他們花三個小時預先處理關卡來產生一個 '引擎可消化的' 格式之前 , 這些能力允許游戲開發者看到關卡將在游戲中看起來怎么樣。 開發者需要關于關卡,多邊形數量,網格數量等等的相應數據。 他們需要一個合宜而友好的方式能夠讓世界有紋理背景圖,容易存取多邊形數量縮減工具,如此等等。這個清單可以繼續列下去。

  在先前已經存在的工具中找到這個功能是可能的。許多開發者使用Max或者Maya建造他們的關卡, 但即使3D Max需要對它的功能有一些任務特定的擴展來有效率地完成關卡建造工作。甚至可能使用關卡建造工具,像QERadient(見下圖),而且把它的輸出重新處理成你的引擎能夠解釋的格式。


不能看見它? 別煩擾
  回想一下我們在第一部分討論的BSP (二叉空間分割) 樹,你也可能聽說過潛在可視集合(PVS)這個術語正被四處談論。兩者都有相同的目標,不去探究涉及到的繁雜的數學,它是一種把世界分解為你能從世界任何給定位置看見的墻壁的最小子集的方式。在實現時,它們僅僅返回你能看見的那些,而不是那些隱藏在可能被遮擋的墻壁后面的。你能想象出這給軟件渲染器帶來的好處,渲染的每個像素(可能是這樣的情形)極為重要。它們也按從后到前的順序返回那些墻壁,在渲染時這是很方便的,因為你能夠在渲染次序中確定一個對象的實際位置。

  大體而言,BSP 樹最近正不受歡迎,由于它們的一些古怪,而且因為我們從當今3D顯示卡獲得的像素吞吐量,再加上Z緩沖像素測試,BSP 常常成了一個多余的過程。它們在計算出你在世界的確切位置和正在你周圍的幾何物體方面是便利的,但常常有比BSP樹更好而且更直觀的方式來存儲這些信息。

  潛在可視集像它聽上去一樣非常好。它是這么一個方法,在任何給定時間,給定你在世界的位置,它決定世界的哪些表面,哪些對象實際上可以看得見。這時常用來在渲染之前剔除對象,也剔除它們來減少AI和動畫處理。畢竟,如果你實際上不能看見它們,為什么還要費腦筋處理呢。多半這真的是不重要的,如果一個非玩家角色(NPC)正在播放動畫,或者甚至在運行它的AI思考。


游戲物理學
  既然我們已經在內存中得到了世界的結構,我們必須防止我們的角色從里面掉落出去,并處理地板,斜坡,墻壁,門,以及移動平臺。加之,我們必須正確地處理地心引力,速度變化,慣性,和放置在世界里面的其它對象的碰撞。這被看作是游戲物理學。而且在我們進一步深入討論之前,我想現在就在這里消除一個神話。任何時候你在世界中看見物理,或者任何人在一個復雜的游戲環境中宣稱真實的物理,很好,它是BS。超過80%的建造一個有效率游戲物理系統的精力花在簡化用來處理世界中對象的真實方程式上面。甚至那時,你時常忽略什么是真實的,并創造一些有趣的東西,畢竟,這是目標所在。

  經常地游戲者將會忽視真實世界的牛頓物理學,并扮演他們自己的,更有趣的真實版本。例如,在QuakeII里面,你能夠立即從0加速到35MPH,并快速停下來。沒有摩擦力,而且斜坡不提供真實斜坡提供的相同類型的重力問題。身體沒有它們應該的作用在所有關節上的地心引力 -- 你看不見身體像真實生活中那樣倒在桌子上面或者邊緣 -- 而且地心引力它本身甚至可能是可變的。 面對現實吧,在真正的世界中,空間中的飛船不像二戰飛行戰斗員在它們的表面操作那樣實行。在空中,全部是力和反作用力,力在重量點周圍作用,等等。不像 X-Wing中的Luke Skywalker那樣嘯叫。盡管那樣做更加有趣!

  作為游戲開發者來說,無論我們做什么,我們需要能夠檢測墻壁,檢測地板,在世界中處理和其他對象的碰撞。這些是現代游戲引擎的必備我們決定對它們進一步要做的取決于我們和我們的游戲需要。


效果系統
  如今絕大多數的游戲引擎建造有某種效果產生器,這允許我們表現出有洞察力的游戲者期盼的所有可愛的吸引眼球的東西。然而,效果系統幕后所進行的東西能夠急劇影響幀速率,所以這是我們需要特別關心的地方。如今我們有很棒的3D顯示卡,我們能夠傳送大量的三角形給它們,而且他們仍然要求更多的三角形。并不總是那樣。 Heretic II,使用它的可愛的軟件渲染模式,由于他們漂亮的符咒效果,Raven遇到了相當嚴重的過度繪制問題。回想當你在屏幕上繪制相同的像素超過一次時,過度繪制就發生了。當你有許多效果正在進行,按其性質你有許多三角形,多個三角形可能相互堆疊在彼此上面。結果是你有許多重復繪制的像素。加上Alpha,這意味著在重新繪制之前你必須讀取舊像素并和新的像素混合,這會消耗更多的CPU時間。

  Heretic II的一些效果能說明這點,我們在一幀里對整個屏幕重復繪制了四十遍。很驚訝,是嗎?因此他們在效果系統里面實現了一個系統采樣在過去30幀的幀速率,如果速度開始減慢,它就自動地縮減任何給定效果繪制的三角形數量。這樣使主要工作完成了,幀速率保持住了,但一些效果看上去很丑陋。

  無論如何,因為如今絕大多數效果傾向使用大量很小的粒子模擬火和煙等等,結果你在效果代碼里面每幀要處理許多的三角形。你必須把它們從一幀移動到下一幀,決定它們是否完成了,甚至還要在它們身上運用一些物理學以便讓它們在地板上面適當的反彈。這在PC上面都是相當昂貴的,因此甚至現在你必須對你所能夠做的有一些實際限制。舉例來說,用一個像素粒子產生火的效果可能會很好,但當你這么做的時候就別期望在屏幕上做更多別的事情。

  粒子被定義為擁有它們自己的世界位置和速度的非常小的可繪制的物體。它們不同于有方向的精靈,大的粒子使用這些精靈 -- 比如噴出的一團團煙霧。它們面向照相機自動而典型地旋轉,縮放,改變它們的透明級別,因此它們能夠隨著時間淡出。我們容易看到大量的粒子,但我們卻限制精靈的數量盡管兩者之間的真正不同如今正在模糊。將來,特別是在 DX9 和更加高級的圖形硬件表面以后,我們可能看到更多的人們使用過程shader來產生跟粒子系統相似或者更好的效果,創造非常棒的動畫效果。

  當談論效果系統時,你可能聽說過圖原這個詞。一個圖原是你的效果系統將處理的效果的最低級別的物理表現。更進一步解釋,一個三角形是一個圖原。那是絕大多數引擎最終在底層繪制的 -- 大量的三角形。當你沿著系統向上時,你對圖原的定義隨著變化。比如說,頂層的游戲程序員不想考慮處理個別的三角形。他僅僅想說,"這個效果在這里發生" 并讓系統以一種黑盒方式處理它。因此對于他來說,一個效果圖原就是讓我們在世界的這點持續這么長時間用這樣的引力產生一束粒子。在效果系統內部,它可能認為一個效果圖原是它那時正在產生的每個單獨的效果,像一組遵循同樣的物理學規則的三角形然后它傳送所有這些單獨的三角形到渲染器進行渲染,因此在渲染器層次,圖原就是一個單獨的三角形。有一點困惑,但你知道總的思想了。

  以上就是第五部分,下一個部分是關于聲音系統,和各種不同的音頻APIs3D音頻效果,處理閉塞和障礙,各種不同材料對聲音的影響,音頻混合等等。

posted on 2007-12-04 13:19 夢在天涯 閱讀(2580) 評論(0)  編輯 收藏 引用

公告

EMail:itech001#126.com

導航

統計

  • 隨筆 - 461
  • 文章 - 4
  • 評論 - 746
  • 引用 - 0

常用鏈接

隨筆分類

隨筆檔案

收藏夾

Blogs

c#(csharp)

C++(cpp)

Enlish

Forums(bbs)

My self

Often go

Useful Webs

Xml/Uml/html

搜索

  •  

積分與排名

  • 積分 - 1811982
  • 排名 - 5

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              国产精品色午夜在线观看| 亚洲日本一区二区| 性高湖久久久久久久久| 国产欧美韩国高清| 久久久国际精品| 蜜臀久久久99精品久久久久久 | 亚洲午夜视频在线| 国产精品久久国产精麻豆99网站| 亚洲综合色丁香婷婷六月图片| 激情成人av在线| 女人香蕉久久**毛片精品| 男人的天堂亚洲在线| 亚洲视频成人| 亚欧美中日韩视频| 欧美主播一区二区三区| 欧美精品激情在线| 亚洲欧美日韩国产| 久久久水蜜桃| 在线亚洲欧美视频| 久久国产精品久久国产精品| 亚洲乱码国产乱码精品精98午夜 | 午夜一区二区三区不卡视频| 久久久人成影片一区二区三区| 亚洲精品人人| 香蕉亚洲视频| 99国产精品国产精品毛片| 亚洲欧美日韩综合| 亚洲精品视频在线| 欧美一区午夜精品| 亚洲一区二区三区成人在线视频精品 | 久久九九免费视频| 欧美日韩另类国产亚洲欧美一级| 欧美一级在线播放| 欧美精彩视频一区二区三区| 久久青青草原一区二区| 欧美日韩一级视频| 欧美国产日本高清在线| 国产日韩在线播放| 99re热这里只有精品视频 | 欧美性猛交99久久久久99按摩 | 欧美成人黄色小视频| 国产精品自拍视频| 在线视频精品| 日韩一级不卡| 在线亚洲激情| 亚洲国产一区二区三区在线播| 亚洲香蕉成视频在线观看 | 韩国久久久久| 午夜精品福利一区二区蜜股av| 99精品欧美一区二区三区综合在线| 久久精品一二三| 久久精品三级| 欧美亚洲自偷自偷| 亚洲自拍啪啪| 国产精品成人播放| 一本大道久久a久久综合婷婷| 亚洲精品欧洲| 欧美寡妇偷汉性猛交| 欧美激情按摩在线| 亚洲国产日韩欧美在线图片| 久久久国产精品一区二区三区| 久久成人精品电影| 国产午夜精品久久| 欧美一区二区日韩一区二区| 欧美一激情一区二区三区| 国产精品女主播在线观看 | 亚洲激情在线激情| 欧美午夜视频网站| 亚洲特级片在线| 欧美色综合天天久久综合精品| 91久久夜色精品国产九色| 亚洲精品一区二区三区蜜桃久| 欧美成年人网| 亚洲精选91| 亚洲欧美日韩精品一区二区 | 久久av一区二区| 裸体歌舞表演一区二区| 亚洲成在人线av| 欧美精品在线免费| 宅男噜噜噜66国产日韩在线观看| 香蕉成人伊视频在线观看| 国产视频在线观看一区二区三区| 欧美一区国产二区| 欧美激情亚洲另类| 亚洲五月婷婷| 韩国精品主播一区二区在线观看| 久久一区二区视频| 亚洲清纯自拍| 欧美一区二粉嫩精品国产一线天| 国产欧美日韩精品一区| 久久久亚洲综合| 亚洲精品欧美日韩专区| 小嫩嫩精品导航| 亚洲国产成人av| 欧美三级在线播放| 久久精彩免费视频| 亚洲美女中出| 久久久久久综合| 一本色道久久88综合日韩精品 | 国产一区二区三区精品久久久| 9色porny自拍视频一区二区| 日韩亚洲欧美中文三级| 国产精品免费网站| 美女视频黄免费的久久| 亚洲综合导航| 亚洲国产精品国自产拍av秋霞| 亚洲一区二区三区激情| 在线日韩中文字幕| 国产精品日韩一区二区三区| 久久一综合视频| 亚洲一二三区视频在线观看| 欧美大片在线观看| 久久福利资源站| 一区二区三区四区蜜桃| 国内精品久久国产| 国产精品女人久久久久久| 欧美v国产在线一区二区三区| 亚洲午夜一区二区三区| 亚洲欧洲视频在线| 欧美成人精品三级在线观看| 亚洲男人av电影| 亚洲人成小说网站色在线| 国产视频一区在线观看| 欧美色另类天堂2015| 欧美88av| 美女网站在线免费欧美精品| 久久福利精品| 午夜在线播放视频欧美| 亚洲天堂av图片| 日韩西西人体444www| 亚洲欧洲日产国产综合网| 蜜桃av综合| 久久综合狠狠| 久久久999精品| 久久精品99国产精品日本| 性感少妇一区| 香蕉久久国产| 欧美一区二区三区另类| 午夜精品区一区二区三| 国产人久久人人人人爽| 国产精品理论片| 国产精品欧美风情| 国产精品久久久久影院色老大| 欧美日韩亚洲一区二区三区在线观看| 欧美jjzz| 欧美人与性动交cc0o| 欧美日韩成人在线观看| 欧美日韩国产区| 欧美日韩中文字幕在线| 国产精品国产精品| 国产精品一级二级三级| 国产午夜精品一区二区三区视频| 国产欧美一区二区在线观看| 国产一区二区成人久久免费影院| 国产一区二区三区在线观看视频 | 国产精品国产一区二区| 国产毛片精品国产一区二区三区| 国产欧美亚洲日本| 伊人久久婷婷| 99国产精品久久久久久久| 一区二区欧美视频| 欧美影院在线播放| 久久亚洲精品欧美| 亚洲国产老妈| 一本综合精品| 久久久精品999| 欧美精品自拍| 国产乱子伦一区二区三区国色天香| 国产伦精品一区二区三区照片91| 激情久久五月| 亚洲最快最全在线视频| 欧美亚洲自偷自偷| 欧美国产日韩一区二区| 欧美11—12娇小xxxx| 亚洲欧美一区二区三区久久| 麻豆精品一区二区av白丝在线| 欧美日韩精品福利| 国产亚洲aⅴaaaaaa毛片| 亚洲人精品午夜在线观看| 亚洲女与黑人做爰| 美女精品国产| 亚洲视频自拍偷拍| 老巨人导航500精品| 国产精品成人播放| 亚洲日本一区二区| 欧美一区二区三区成人| 亚洲福利精品| 久久精品成人| 国产精品免费一区二区三区观看| 影院欧美亚洲| 午夜在线播放视频欧美| 亚洲国产网站| 久久国产视频网站| 国产精品日韩一区| 亚洲桃色在线一区| 亚洲精品久久久久久久久久久久| 久久久久久久一区二区三区| 国产精品一二三四区| 一本色道久久综合精品竹菊 | 欧美不卡视频一区发布|