電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
D3D基礎內容概說

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 板主碎碎唸
上一篇主題 :: 下一篇主題  
發表人 內容
yag
Site Admin


註冊時間: 2007-05-02
文章: 688

2673.35 果凍幣

發表發表於: 2008-3-4, PM 5:00 星期二    文章主題: D3D基礎內容概說 引言回覆

初學遊戲設計的很多人都知道DirectX
應該大多數也都知道寫3D遊戲圖型的部份是用DirectX中的Direct3D(簡稱D3D)
但D3D中到底包含哪些內容呢?
今天就大致介紹如下:

一、頂點

D3D的基礎就是一個一個的頂點,這些頂點組成了三角形,再由無數的三角形組成遊戲中的一切物體。
因為頂點由座標組成,而為了方便我們對座標系的直覺認知,我們在繪製流程中又分為「本地空間」、「世界空間」以及「視覺空間」。
另外為了節省相同頂點造成的儲存空間浪費,所以我們還有個索引緩衝器,以一個數字來代替一個頂點(基本的頂點就有x,y,z三個座標,因此存一個頂點要三個數字)來達成減少所需記憶體。
本地空間就是以物體本身的觀點來觀察其座標,比如說,我們觀察自己的左手,勢必在自己身體的左邊…而視覺空間就像是一個站在你對面的人看著你的左手,對他來說,你的左手在他的右邊,到了世界空間,就像是你的左手處於地球上的某個地方…總之就是「觀點」的不同造成了不同的座標。

二、色彩

每個頂點還可以設置自己的顏色,然後選擇一種著色的方法,讓一個三角形參考三個頂點的顏色來畫出自己的顏色,產生一個有色彩的「

三、光線

光有了色彩還是不夠的,3D遊戲必須要有打光,因為我們是模擬一個世界,正如同現實中必須有陽光、燈光我們才能看到東西一樣,遊戲中也必須要有光,光又分成很多種,像陽光、燈泡的光、聚光燈那種集中式的光、會自體發亮的東西的光(鮟鱇魚頭上那顆發光體?),又或者紅光、藍光、紫光、綠光、就是那個光(?)。
而為了讓光線可以區分一個面的正反面,所以我們必須在頂點處除了x,y,z座標以及顏色外,再加上所謂的法向量,這個法向量嘛…懶得講,請自行翻閱數學課本。 Laughing

四、材質

光有了光跟色彩是不夠的,憑這些東西是沒辦法表達出各式各樣的「表皮」的,像是真皮沙發的質感、老虎皮上的黑紋、熊身上溫暖的毛又或者美女皮膚的潔白透亮、溫潤如玉,這些東西嘛,就必須使用畫出來的2D圖形,來當成材質,對著頂點貼上去,覆蓋住頂點組出來的面,就像貼上一層皮膚一樣。

五、混合

混合嘛,就是把前面的色彩跟後面的色彩做混合,這些做出來會有什麼效果呢?就是透明的效果,像是一個半透明的人,或者一顆應該要能看透過去的水球,或是法術、劍光造成的效果,都應該具有跟背景色混合成為半透明的效果。

六、模版

這個聽起來比較難懂,不過嘛,就把它當成一種特殊的遮罩就是了,它主要是用在陰影鏡影之類的地方,像是鏡子中的反射、水面的照影、金屬物體表面的反映,都是模版發揮功能的地方。

七、字型

這應該沒啥好說的,就是用3D的方式顯示字體。

八、網格

這就是最重要的東西啦,我們說過遊戲中的物體由頂點組成,但一個物體需要的頂點數是很龐大的,我們很難一個頂點一個頂點去設定它,然後組成一個人物或動物出來,所以嘛,我們必須使用3D建模軟體做出模型,然後把它轉檔成D3D的網格模式,說起來,這就是許多頂點的集合體啦,有了這個,我們才能方便地在遊戲中顯示出一些複雜的物體。

九、攝影機

這也沒啥好解釋的,就像拍電影一樣,有個攝影機你才能看到東西。

十、粒子系統

這是拿來模擬一些點狀集合物的,像是雪花、煙火又或者一些法術的特效。(特效可以用材質做也可以用粒子做,視情況及所需效果而定)

十一、揀選

這就是我們的滑鼠遊標囉,我們怎麼知道遊標點在哪呢?畢竟這是3D的世界而不是2D的平面,因此我們必須使用「射線」才能得知玩家在點哪個東西,簡單來說,就有點像是某些會議或課堂上,臺上的人手中拿來指點黑板或螢幕上位置的紅外線發射器,一條線射出去,讓你知道他指在何處。

十二、HLSL(High Level Shading Languages,高階著色語言)

這個嘛,很困難,不過看名稱應該也猜得出來是幹嘛的,大致上來說,想搞什麼卡通著色,就是靠這個東西。說實話,這個我也不是很懂,哈哈,就不介紹了。

D3D大致就以上十二個部份,話說應該是還有其他東西啦,不過我參考的書目只教了這些,哈哈,所以就當成是這樣吧,如果有高手不吝指教我少講了哪些部份,那就先大禮謝過啦。
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 板主碎碎唸 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作