Presentation is loading. Please wait.

Presentation is loading. Please wait.

第十一章 3D遊戲設計技巧 課前指引 一套3D遊戲的簡易製作過程,可以從腳本的企劃與構思,設計劇中人物跟週邊場景,然後再交給3D建模人員建立模型(如透過3DMax與Maya軟體),最後可以選一套合適的3D引擎來整合,並且安排介面控制角色的製作與邏輯,同時將人物場景匯入3D引擎中,最後透過玩家的耐玩度測試及調整就可以完成。如果是網路遊戲,上線之後還必須定時維護伺服器、或視情況增減伺服器。

Similar presentations


Presentation on theme: "第十一章 3D遊戲設計技巧 課前指引 一套3D遊戲的簡易製作過程,可以從腳本的企劃與構思,設計劇中人物跟週邊場景,然後再交給3D建模人員建立模型(如透過3DMax與Maya軟體),最後可以選一套合適的3D引擎來整合,並且安排介面控制角色的製作與邏輯,同時將人物場景匯入3D引擎中,最後透過玩家的耐玩度測試及調整就可以完成。如果是網路遊戲,上線之後還必須定時維護伺服器、或視情況增減伺服器。"— Presentation transcript:

1 第十一章 3D遊戲設計技巧 課前指引 一套3D遊戲的簡易製作過程,可以從腳本的企劃與構思,設計劇中人物跟週邊場景,然後再交給3D建模人員建立模型(如透過3DMax與Maya軟體),最後可以選一套合適的3D引擎來整合,並且安排介面控制角色的製作與邏輯,同時將人物場景匯入3D引擎中,最後透過玩家的耐玩度測試及調整就可以完成。如果是網路遊戲,上線之後還必須定時維護伺服器、或視情況增減伺服器。

2 章節大綱 11-1 認識3D座標系統 11-2 座標矩陣 11-3 投影轉換簡介 11-4 3D動畫 11-5 3D程式設計演算法
備註:可依進度點選小節

3 11-1 認識3D座標系統 任何物體在3D空間中的位置,都可以利用某一種座標系統來進行描述。
在3D空間的圖形,必須比2D空間多了一個座標軸,通常在3D空間中任一點表示為(X,Y,Z),由於多了一個Z座標軸,因此也就多了深度的差別。

4 11-1 認識3D座標系統 Model座標系統 Model座標系統即是物體本身中的座標環境,物體本身也有一個原點座標,而物體其他的參考頂點則是由原點所衍生出來,如下圖所示: 如同上圖所示,(100,100,100)的頂點座標是參考原點(0,0,0)所延伸出來的座標點,這種由幾何圖形所參考出來的座標系統,就稱為「Model座標系統」。

5 11-1 認識3D座標系統 World座標系統 「Model座標系統」是用來表示物體自己本身的座標系統,而不能被其他的物體所使用,並且其他物體本身也有自己的「Model座標系統」。 在3D的世界裡,有幾個目標物體就會有幾個Model座標系統。 必須再定義出另外一種可供3D世界物體參考的座標系統,並且使得所有的物體都可以正確地被擺放在應該的位置座標上。 而這種另外再定義出來的座標系統稱為「World座標系統」。

6 11-1 認識3D座標系統 View座標系統 當有了物體本身的「Model座標系統」與能夠表現物體在3D世界的位置座標之「World座標系統」。 還必須要有一個觀看上述兩者的座標系統,如此一來,螢幕的顯示才會有依據,而這個可以觀看的座標系統我們稱為「View座標系統」。

7 11-1 認識3D座標系統 座標系統間的轉換 不同的座標系統必須要經過一些特殊的轉換才能讓這個座標系統所接受,而這種轉換的過程就稱為「座標轉換」。 座標轉換的流程是先將一個物體的「Model座標系統」轉換至「World座標系統」,再將「World座標系統」轉換至「View座標系統」當中。 再經由「投影轉換」將「View座標系統」計算出投影空間的座標。

8 11-1 認識3D座標系統 直角座標轉換方式 直角座標(或稱立體座標)是以X、Y、Z軸來描述物體在3D空間中的正確座標。
除了直角座標外,還有一種座標的表示方式,也常被使用於立體座標系統中物件位置的描述模式 其中X、Y、Z與r、θ、a的互換公式,必須配合三角函式來進行運算,它們之間的公式對應關係如下列三個方程式所示:

9 11-2 座標矩陣 在電腦圖學裡,矩陣的表示方式是以4X4矩陣來呈現的。
這種表現方式可以用來表示平移(Translation)、旋轉(Rotation)及縮放(Scaling)等三種轉換功能,而這三種轉換功能就已經包含了3D世界的轉換型式了。 至於這一種矩陣的運算對象及所產生的結果座標,就稱為「齊次座標」(Homogeneous Coordinate)。

10 11-2 座標矩陣 齊次座標 「齊次座標」具有四個不同的元素,其表示法為(x,y,z,w),如果將齊次座標表示成3D座標的話,其表示法則為(x/w,y/w,z/w)。 通常w元素都會被設成「1」,用意是用來表示一個比例因子。 如果表現在某一個座標軸的話,則可以用來表示該座標軸的遠近參數,不過在這個時候w元素則會被定義成距離的倒數(1/距離) 。 如果要表示無限遠的距離時,還可以將w元素設定成「0」,而z-buffer的深度值也是參考此值而來的。

11 11-2 座標矩陣 矩陣平移 所謂「矩陣平移」(Translation)即是物體在3D世界裡向著某一個向量方向移動。

12 11-2 座標矩陣 矩陣旋轉 矩陣旋轉(Rotation)的定義則是3D世界裡的某一個物體繞著一個特定的座標軸旋轉。
旋轉的原則是以原點為中心,並向著x座標軸、y座標軸或者是z座標軸以逆時針方向旋轉ψ個角度,最後我們可以得到旋轉後的頂點座標(x’,y’,z’)。

13 11-2 座標矩陣 繞著x軸旋轉 繞著y軸旋轉

14 11-2 座標矩陣 繞著z軸旋轉 如果要順時針方向旋轉的話,還可以將ψ角度設定成負值。

15 11-2 座標矩陣 矩陣縮放 「矩陣縮放」(Scaling)即是物體沿著某一個軸進行一定比例縮放的運算。 物體向著X軸放大

16 11-2 座標矩陣 矩陣的表示法 在原點上的頂點則不會受到位移的影響。例如頂點座標為(x,y,z),在三個軸上的縮放值為(ηx, ηy, ηz)的比例,最後得到的頂點座標為(x’,y’,z’)。

17 11-2 座標矩陣 矩陣結合律 例如平移矩陣為A、旋轉矩陣為B、縮放矩陣為C,而原來的頂點座標為K、最後得到的頂點座標為K’ 。
矩陣相乘的公式如下所示: K’=CBAK 矩陣相乘的運算是可以符合數學上所說的「結合律」。 簡單的說,可以將A、B、C三個矩陣先結合成另一個矩陣,如下列所示: μ=CBA K’=μK

18 11-3 投影轉換 要將現實中的三維空間表現在電腦的二維空間裡,就必須將三維座標系統轉換成二維座標。
將3D世界裡的座標單位映射到2D螢幕的座標單位上,各位才能在電腦螢幕上看到成像的3D世界,而這整個轉換的過程就稱為「投影」。 在電腦圖學理論裡,有許多線性或非線性方式可以把3D空間的物體映射到2D平面上。

19 11-3 投影轉換 平行投影 當省略掉三維空間裡的一維元素之後,就可以得到了一個平行投影的圖形座標,在這個時候,三維空間中的所有頂點都會從三維空間映射到2D平面的平行線上,因此我們就稱這種方式為「平行投影」 。 如果平行投影不考慮立體物件遠近感的問題,適合用於表現小型的立體物件。

20 11-3 投影轉換 正交投影 從投影線與投影面交叉角度的基礎上來細分,如果交叉的角度是直角的話,我們則稱之爲「正交投影」(Orthographic),如果不是直角的話,則稱為「傾斜投影」(Oblique)。 這種投影的方式跟工程繪圖有些類似的地方,通常都會使用「正交投影」(頂視、前視和側視)來轉換三維座標。 因爲它所呈現出來的畫面與在現實生活中所看到物體的距離感一樣。

21 11-3 投影轉換 平行投影實作 這是投射至xy平面的座標值

22 11-3 投影轉換 透視投影 透視投影所建立出來的物件投影圖像之大小必須依賴物件與觀察者的距離。
在透視投影中要表現這種效果其實並不困難,就如同在第八章裡所說的2D透視圖一樣。

23 11-3 投影轉換 「focus」(焦點距離) 圖中觀察者的眼睛是位於參考座標系統的原點上,而觀察者的眼睛與投影面的距離稱爲「focus」(焦點距離)。 其目的是要確定哪些頂點可以在光線從F點發射到觀察者眼睛的時候所產生的投影面,所以就必須在螢幕上的這個投影面上描繪物體。

24 11-3 投影轉換 「focus」(焦點距離)公式 因為它們都有相同的Y值,所以可以利用下列這兩個公式來描述3D描繪的情形:
透視轉換所産生的圖像可能一開始看起來會有一點不自然的失真效果,所以必須要改善其頂點座標的真實度。 在3D世界裡,視角寬度在75到85度的焦點距離效果是最好的。

25 11-4 3D動畫 3DSMax為Autodesk公司所生產之3D電腦繪圖軟體。功能涵蓋模型製作、材質貼圖、動畫調整、物理分子系統及FX特效功能等等。應用在各個專業領域中,如電腦動畫、遊戲開發、影視廣告、工業設計、產品開發、建築及室內設計等等,為全領域之開發工具。 3D動畫的設計不外乎就是建立模型,然後將模型貼好材質,布置好燈光背景,並調整好虛擬的攝影機(包括製造場景深度、空間感、走位效果、聲光效果等),設定動畫動作等。

26 11-4 3D動畫 模型物件建立(Modeling Objects)
3D物件之建立是根據模型本身結構與外形進行編輯。一開始先建立基本之幾何元件,並使用Modify面板內所提供之指令,將模型的外形將其塑形出來。也可以利用2D Shape 使用曲線之方式先將外形建立出來後,再使用相對應之指令建構出模型。 模型建立步驟示意圖

27 11-4 3D動畫 材質設計(Material Design)
3DSMax是利用材質編輯器(Material Editor)設計角色的表面材質與質感。 材質建立步驟示意圖

28 11-4 3D動畫 燈光與攝影機(Lights and Cameras) 3DSMax允許使用者在場景中可以建立數個燈光及不同顏色之效果。
所建立之燈光也可以製作陰影之效果、規劃投射之影像及環境製作、霧氣等效果。 使用者也可以在自然環境的基礎下使用Radiosity等進階功能模擬出更真實的環境效果。 攝影機之使用也跟真實環境的攝影機一樣,可進行視角的調整、鏡頭拉伸及位移等功能。

29 11-4 3D動畫 動畫製作(Animation) 3DSMax中使用者只要啟動AutoKey,位移、旋轉、縮放甚至參數的調整就可隨時讓自己所設計的角色進行動畫製作。 藉由燈光及攝影機的變化可擬造出極具戲劇性的效果呈現在視窗中。 使用者也可使用系統所提供的Track View來提高動畫編輯效率或是更有趣的動態效果。

30 11-4 3D動畫 上彩功能(Rendering) 3DSMax之Rendering提供了許多功能及效果供使用者選擇使用,包括消鋸齒、動態模糊、質量光及環境效果等等的呈現。 在核心引擎除了預設的著色系統外,也加入了Mental Ray Renderer著色在系統中供使用者選擇。 若使用者的工作是需要使用到網路算圖的話,3DSMax也提供了完善的網路運算及管理工具讓使用者使用。

31 11-5 3D程式設計演算法 遊戲開發與設計是一項創意導向的產業,除了講究遊戲的趣味度之外,作品的質感與美感,一向是玩家關注與重視的焦點。
在早期硬體技術不甚發達的年代,當時的繪圖引擎只能提供一些簡單繪圖函式,玩家可能較注重遊戲的趣味度或刺激性。 但今天硬體技術發展的突飛猛進,現在的的3D加速卡可以進行更複雜的運算,因此在3D遊戲中,常常可以看到幾乎達到即時呈像的3D場景。

32 11-5 3D程式設計演算法 LOD運算法 LOD運算法是一般應用於遊戲場景中較遠物體的描繪,這是因為較遠物體,由於視覺上的限制,所以不需要繪製物體細節的情況。 所謂細節層次(Level of Detail, LOD)運算法是指調整模型的精細程度,也就是決定構成物體的三角面數量多寡。 好的LOD演算法,可以在使用較少的三角面情況下,卻可以得到非常接近原始物件的模型。

33 11-5 3D程式設計演算法 光柵處理 基本上,決定外觀如何呈現的方式,各位可以透過LOD技術來為不同遠近物件決定適當的解析度。當然剛才所談到的論點,都只侷限於物件輪廓的呈現階段,但是真實3D場景中物體繪製,還必須考慮每一個面的顏色或材質貼圖。

34 11-5 3D程式設計演算法 物件裁剪法 裁剪(Clipping)功能,主要是一種對要繪製的物體或圖形進行裁切的動作,
目的是希望物體在繪製前,先移除掉看不見的區域,來加速繪製的動作。 裁剪演算法同時也是執行裁剪圖形(2D區域或3D區域)的規範。 通常很難找出一種適合任意形狀和任意裁剪體的方法,這主要是受到物體形狀的約束。

35 11-5 3D程式設計演算法 範例:邊界體方式 邊界盒可以表達物件的最小和最大空間座標,但邊界球的半徑要由從物件中心算起的最遠點來決定。
如果使用邊界盒來當作是邊界體的話,就能夠用來檢查來自視體中所有可能的抛除頂點。

36 本章結束 Q&A討論時間


Download ppt "第十一章 3D遊戲設計技巧 課前指引 一套3D遊戲的簡易製作過程,可以從腳本的企劃與構思,設計劇中人物跟週邊場景,然後再交給3D建模人員建立模型(如透過3DMax與Maya軟體),最後可以選一套合適的3D引擎來整合,並且安排介面控制角色的製作與邏輯,同時將人物場景匯入3D引擎中,最後透過玩家的耐玩度測試及調整就可以完成。如果是網路遊戲,上線之後還必須定時維護伺服器、或視情況增減伺服器。"

Similar presentations


Ads by Google