Direct3D 开发之旅 3D 游戏基本概念的介绍2
? ? ? 文接上篇,上節(jié)說到了3D的重要的幾何知識(shí)。 ?
? ? ? 這節(jié)首先我們補(bǔ)充一些其他重要的3D的幾何知識(shí)。
? ? ? 通過所有的變換,將頂點(diǎn)從物體局部坐標(biāo)系變換到視口坐標(biāo)系系統(tǒng)。變換方法以下幾種
? ? ? 1. 平移,旋轉(zhuǎn)和縮放等變換操作通常使用矩陣來執(zhí)行
? ? ? ?2. 在投影之后,每個(gè)頂點(diǎn)都在投影平面上有一個(gè)新的x和y值用于描述它的位置,同時(shí)還有一個(gè)述深度的z值。
? ? ? ?3.在管線處理的最后階段,將紋理填入到各個(gè)三角形或者表面當(dāng)中.紋理就是游戲背景出現(xiàn)的一些頭案。
? ? ? ?在這,我們介紹一個(gè)主要空間系統(tǒng),如圖所示
? ? ? ?
? ? ? ? 我們?cè)俳榻B一下物理坐標(biāo)系統(tǒng)。
? ? ? ? 所謂的物理坐標(biāo)系統(tǒng), 是使用層次模型來表示由各個(gè)部分“裝配”起來的物體,并且?每個(gè)物體都有自己的坐標(biāo)系。 下面圖像顯示就是兩個(gè)物體不同的物理坐標(biāo)系統(tǒng)顯示。
? ? ? ?那么什么是世界坐標(biāo)系系統(tǒng)?
? ? ? ?世界坐標(biāo)系系統(tǒng)也被稱為“全局坐標(biāo)系系統(tǒng)”,所有的物體做這同一系統(tǒng)中。所有對(duì)象實(shí)例都能夠在這系統(tǒng)縮放,平移和旋轉(zhuǎn)的。所有的幾何體都在同一坐標(biāo)系中,使用同一坐標(biāo)
?系原點(diǎn)。下面的圖像在世界坐標(biāo)系系統(tǒng)中顯示了兩個(gè)綠色的立方體和一個(gè)紅色的立方體的實(shí)例。
? ? ? ?攝像機(jī)系統(tǒng),也被稱為“參考坐標(biāo)系統(tǒng)”, 是指明在世界空間中的某一角度中任意放置,方向和方位的空間。?所有物體的位置都根據(jù)攝像機(jī)的中心和方向重新變換。
? 下圖顯示了攝像機(jī)在世界坐標(biāo)系系統(tǒng)中從左側(cè)觀察物體。
?
?
? ?也能從下圖顯示了從左側(cè)攝像機(jī)坐標(biāo)系系統(tǒng),或者攝像機(jī)點(diǎn)中所看到的相同的場(chǎng)景。
? ? ?而下面的圖像則顯示了在世界坐標(biāo)系系統(tǒng)內(nèi)攝像機(jī),從系統(tǒng)右面觀看世界場(chǎng)景。
? ? ? ? 投影坐標(biāo)系系統(tǒng)又是什么了? 投影坐標(biāo)系系統(tǒng)也被稱為“裁剪坐標(biāo)系系統(tǒng)”,?他由視圖截錐和投影方法定義的空間,
? ?并裁剪并且投影3D物體到2D視圖平面。解釋投影坐標(biāo)系統(tǒng),如圖所示。
? ? ? ? ?最后,介紹視口系統(tǒng)。視口系統(tǒng)是在顯示窗口中圖像被實(shí)際繪制的矩形區(qū)域,?是由原點(diǎn)和窗口的延伸方向定義,?因此Z值通常被保留,我們有時(shí)候也稱“2.5D”;
? ? ? ? ?介紹完了坐標(biāo)系系統(tǒng),我們介紹了3D處理管理系統(tǒng)。
? ? ? ? ?3D處理管理系統(tǒng)為了實(shí)現(xiàn)時(shí)間平行性的作用,它類似于裝配線,通過將任務(wù)分割為一系列子任務(wù)來完成,?子任務(wù)由特定的硬件來執(zhí)行,?各個(gè)處理階段并發(fā)操作,?連續(xù)的任
? ? 務(wù)在子任務(wù)層面上重疊執(zhí)行。3D處理管理系統(tǒng)介紹完了。
? ? ? ? ?我們看看,這些程序部分是由幾 個(gè)硬件執(zhí)行。應(yīng)用程序處理階段通過軟件在CPU中實(shí)現(xiàn),幾何變換和光柵化在GPU(圖像處理單元)中實(shí)現(xiàn),具體的執(zhí)行過程如圖所示。
? ??
? ? ? ? ? 我們?cè)倏磻?yīng)用程序處理的是個(gè)啥樣子。是用于軟件實(shí)現(xiàn),他需要一個(gè)游戲引擎:這里的游戲引擎是指碰撞檢測(cè)和響應(yīng),動(dòng)畫,AI,來對(duì)用戶
? ? 輸入的讀取和解析。他的作用是?準(zhǔn)備GP所使用的圖元,所包含屬性和相關(guān)函數(shù)。?對(duì)加速和優(yōu)化非常重要。
? ? ? ? ? 應(yīng)用程序處理由以下組件組成。
? ? ? ? ?1.游戲邏輯 2.人工智能 3.動(dòng)畫物體 4.攝像機(jī)控制 5.剔除算法??6.碰撞檢測(cè)和響應(yīng)?7.游戲物理和動(dòng)力學(xué)特性 8.幾何運(yùn)算庫。
? ? ? ? ?游戲邏輯是指控制游戲流和層級(jí)流、用于用戶界面控制、對(duì)輸入/輸出(I/O)處理、物體導(dǎo)入和加載。
? ? ? ? ? 人工智能是指 對(duì)不可玩角色反應(yīng)、?對(duì)不可玩角色行為、對(duì)不可玩角色路徑查找程序設(shè)計(jì)。并且對(duì)腳本事件控制。
? ? ? ? ? 動(dòng)畫物體包括剛性物體、?可變形物體、?關(guān)節(jié)物體
? ? ? ? ? 剛性物體是指不可變的物體,與此相對(duì)的是柔性物體,包括可變物體和關(guān)節(jié)物體。 可變形物體是指 可以變形的物體,如 變形金剛,關(guān)節(jié)物體,有關(guān)節(jié)質(zhì)地物體,如魔獸世界的英雄。
? ? ? ? ? 介紹完這個(gè)物體以后 ? 我們?cè)俳榻B另外游戲重要的元素——攝像頭。
? ? ? ? ? 攝像頭包括以下幾個(gè)方面。
? ? ? ? ? 1.第一人稱視角. 2.第三人稱視角.??3.跟蹤正在移動(dòng)物體的路徑?4.在不同的攝像機(jī)角度和方向之間內(nèi)插數(shù)值(Quaternions)以提供最短的距離。5.在體育競(jìng)技游戲
經(jīng)常使用的重播的方法。
? ? ? ? ?對(duì)于幾何運(yùn)算庫,我的解釋是指?1.向量和矩陣操作 ??2.距離和角度測(cè)量 ??3.交集和包含運(yùn)算?4.搜索和排序算法
? ? ? ? ? 說說剔除算法,1.背面剔除– 如果一個(gè)繪制元素的法線方向背離視點(diǎn)觀察方向,則該繪制元素必不可見
? ? ? ? 2.攝像機(jī)平截體內(nèi)部的對(duì)象之間的遮擋測(cè)試– 遮擋剔除:如果一個(gè)繪制元素被其他不透明繪制元素(組)所遮擋,則該繪制元素必不可見
? ? ? ?
? ? ? ? 3. 空間分割– 八叉樹(Octree)
? ? ? ? ? ?
? ? ? ? ? 最后我們說說 游戲的物理和力學(xué)特性
? ? ? ? ? ?物理特性包括正向和反向運(yùn)動(dòng), 力學(xué)逆過程(已知力求運(yùn)動(dòng),?剛體和柔體物體對(duì)象以及碰撞檢測(cè)和響應(yīng)等方面的概念。
? ? ? ? ? ?這節(jié),我們從坐標(biāo)系統(tǒng)說起,并且介紹了應(yīng)用程序的邏輯,相信對(duì)大家了解3d游戲開發(fā)的基本概念有所幫助把。
? ? ? ? ? ?接下來,所說的就來到了幾何處理的階段。 ? ?幾何處理大概流程如圖所示:
?
?
? ? ? ? ? ??
? ? ? ? ? ?
轉(zhuǎn)載于:https://www.cnblogs.com/manuosex/archive/2012/10/14/2723161.html
總結(jié)
以上是生活随笔為你收集整理的Direct3D 开发之旅 3D 游戏基本概念的介绍2的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Stars HDU 1541
- 下一篇: 动态规划基本要素