天天看點

Direct3D 開發之旅 3D 遊戲基本概念的介紹2

   文接上篇,上節說到了3d的重要的幾何知識。  

      這節首先我們補充一些其他重要的3d的幾何知識。

      通過所有的變換,将頂點從物體局部坐标系變換到視口坐标系系統。變換方法以下幾種

      1. 平移,旋轉和縮放等變換操作通常使用矩陣來執行

       2. 在投影之後,每個頂點都在投影平面上有一個新的x和y值用于描述它的位置,同時還有一個述深度的z值。

       3.在管線處理的最後階段,将紋理填入到各個三角形或者表面當中.紋理就是遊戲背景出現的一些頭案。

       在這,我們介紹一個主要空間系統,如圖所示

Direct3D 開發之旅 3D 遊戲基本概念的介紹2

        我們再介紹一下實體坐标系統。

        所謂的實體坐标系統, 是使用層次模型來表示由各個部分“裝配”起來的物體,并且 每個物體都有自己的坐标系。 下面圖像顯示就是兩個物體不同的實體坐标系統顯示。

Direct3D 開發之旅 3D 遊戲基本概念的介紹2

       那麼什麼是世界坐标系系統 

       世界坐标系系統也被稱為“全局坐标系系統”,所有的物體做這同一系統中。所有對象執行個體都能夠在這系統縮放,平移和旋轉的。所有的幾何體都在同一坐标系中,使用同一坐标

 系原點。下面的圖像在世界坐标系系統中顯示了兩個綠色的立方體和一個紅色的立方體的執行個體。

Direct3D 開發之旅 3D 遊戲基本概念的介紹2

       錄影機系統,也被稱為“參考坐标系統”, 是指明在世界空間中的某一角度中任意放置,方向和方位的空間。 所有物體的位置都根據錄影機的中心和方向重新變換。

  下圖顯示了錄影機在世界坐标系系統中從左側觀察物體。

Direct3D 開發之旅 3D 遊戲基本概念的介紹2

   也能從下圖顯示了從左側錄影機坐标系系統,或者錄影機點中所看到的相同的場景。

Direct3D 開發之旅 3D 遊戲基本概念的介紹2

     而下面的圖像則顯示了在世界坐标系系統内錄影機,從系統右面觀看世界場景。

Direct3D 開發之旅 3D 遊戲基本概念的介紹2

        投影坐标系系統又是什麼了? 投影坐标系系統也被稱為“裁剪坐标系系統”, 他由視圖截錐和投影方法定義的空間,

   并裁剪并且投影3d物體到2d視圖平面。解釋投影坐标系統,如圖所示。

Direct3D 開發之旅 3D 遊戲基本概念的介紹2

         最後,介紹視口系統。視口系統是在顯示視窗中圖像被實際繪制的矩形區域, 是由原點和視窗的延伸方向定義, 是以z值通常被保留,我們有時候也稱“2.5d”;

         介紹完了坐标系系統,我們介紹了3d處理管理系統。

         3d處理管理系統為了實作時間平行性的作用,它類似于裝配線,通過将任務分割為一系列子任務來完成, 子任務由特定的硬體來執行, 各個處理階段并發操作, 連續的任

    務在子任務層面上重疊執行。3d處理管理系統介紹完了。

         我們看看,這些程式部分是由幾 個硬體執行。應用程式處理階段通過軟體在cpu中實作,幾何變換和光栅化在gpu(圖像處理單元)中實作,具體的執行過程如圖所示。

Direct3D 開發之旅 3D 遊戲基本概念的介紹2

          我們再看應用程式處理的是個啥樣子。是用于軟體實作,他需要一個遊戲引擎:這裡的遊戲引擎是指碰撞檢測和響應,動畫,ai,來對使用者

    輸入的讀取和解析。他的作用是 準備gp所使用的圖元,所包含屬性和相關函數。 對加速和優化非常重要。

          應用程式處理由以下元件組成。

         1.遊戲邏輯 2.人工智能 3.動畫物體 4.錄影機控制 5.剔除算法  6.碰撞檢測和響應 7.遊戲實體和動力學特性 8.幾何運算庫。

         遊戲邏輯是指控制遊戲流和層級流、用于使用者界面控制、對輸入/輸出(i/o)處理、物體導入和加載。

          人工智能是指 對不可玩角色反應、 對不可玩角色行為、對不可玩角色路徑查找程式設計。并且對腳本事件控制。

          動畫物體包括剛性物體、 可變形物體、 關節物體

          剛性物體是指不可變的物體,與此相對的是柔性物體,包括可變物體和關節物體。 可變形物體是指 可以變形的物體,如 變形金剛,關節物體,有關節質地物體,如魔獸世界的英雄。

          介紹完這個物體以後   我們再介紹另外遊戲重要的元素——攝像頭。

          攝像頭包括以下幾個方面。

          1.第一人稱視角. 2.第三人稱視角.  3.跟蹤正在移動物體的路徑 4.在不同的錄影機角度和方向之間内插數值(quaternions)以提供最短的距離。5.在體育競技遊戲

經常使用的重播的方法。

         對于幾何運算庫,我的解釋是指 1.向量和矩陣操作   2.距離和角度測量   3.交集和包含運算 4.搜尋和排序算法

          說說剔除算法,1.背面剔除– 如果一個繪制元素的法線方向背離視點觀察方向,則該繪制元素必不可見

        2.錄影機平截體内部的對象之間的遮擋測試– 遮擋剔除:如果一個繪制元素被其他不透明繪制元素(組)所遮擋,則該繪制元素必不可見

        3. 空間分割– 八叉樹(octree)

          最後我們說說 遊戲的實體和力學特性

           實體特性包括正向和反向運動, 力學逆過程(已知力求運動, 剛體和柔體物體對象以及碰撞檢測和響應等方面的概念。

           這節,我們從坐标系統說起,并且介紹了應用程式的邏輯,相信對大家了解3d遊戲開發的基本概念有所幫助把。

           接下來,所說的就來到了幾何處理的階段。    幾何處理大概流程如圖所示:

Direct3D 開發之旅 3D 遊戲基本概念的介紹2

繼續閱讀