unity3d引擎程式設計師養成

2021-07-10 09:32:24 字數 4517 閱讀 9522

unity3d引擎程式設計師養成

標準流程:

1. c++ primer 英文版(第四或第五版)

全部看完習題做完是必須的。渲染程式設計比較複雜,後期會用到c++的全部特性。c++學的越好後面越輕鬆。

要看英文版,計算機翻來覆去就那麼幾個單詞,基礎打好了以後查stack overflow這些**也方便。

2. introduction to 3d game programming with directx 11

也就是經典的龍書,渲染入門,介紹了很多基本渲染演算法,看完習題做完

3. practical rendering and computation with direct3d 11 

詳細介紹d3d11的架構和api,比較好的參考書,可以和龍書配合著看

4. 數學庫請用eigen,這個比較容易用。

單純學directx的話以上3本足以,認真學習要1年左右時間,差不多是c++半年,d3d半年。

做習題最重要,不做習題=沒學。

單純想做遊戲的差不多這點就行了。

想設計渲染引擎的那話,真正的戰鬥才剛剛開始。。。

###################################

gpu程式設計精粹 nvidia

cg教程實時圖形權威指南

###################################

與玩遊戲相比,寫遊戲要複雜上千萬倍,除了需要掌握通用的程式設計技巧以外,還要有相當的圖形學,物理,數學基礎,特別是在國內,由於相關資料的缺乏,更是讓初學者無從下手。下面總結了一些入門方法和比較容易入手的資料。

首先你要精通一門高階語言,比如c++或者c#,其次,要有良好的英文閱讀能力。對遊戲開發者來說英文閱讀能力是最重要也是最基本的工具之一,因為你遇到的大部分資源都將是英文的,不要總等著別人為你翻譯。慢慢嘗試著閱讀英文資料,你會發現其實也並沒有那麼難:)

入門書籍非常重要,推薦<>(好像去年出了中文版)也就是傳說中的龍書,這可以說是最好的dx入門教材,frank luna從淺入深,討論了dx的方方面面。另外再配上<>,書名雖然是definitive ,但實際屬於入門基本的書。看完這兩本書,你基本上已經對directx比較熟悉了。如果你希望學習xna,也是一樣的,畢竟xna是以dx為基礎。 

不要一開始就看圖形學的書,這個時候你對圖形程式設計還沒有乙個基本的感性認識,因此八成看的雲裡霧裡。不要以網上的教程和論壇提問作為主要學習途徑,找一本好書,系統學習,效率才最高。不要馬上看sdk裡的例子,很多圖形學的基本原理僅僅通過讀**是不會明白的。某些年代太過久遠的書最好*不要*看了,比如<>,這本書算得上是所有圖形程式設計師的必讀書籍和參考手冊了。最近剛出了第三版(更新:已經有電子版了)。可惜國內只有第二版,稍微有點老,如果實在找不到第三版,還是值得一讀。國內其他所有以圖形學命名的書都有乙個共同點:枯燥,過時。只需看看其中二維三維變換和曲線曲面表示的部分即可。如果這個時候發現你當年數學沒有學好,那麼有三本數學書是為遊戲程式設計師量身定製的:<<3d math primer for graphics and game development>>, <>和<>,第一本書有中文版,最後一本則是08年才出的新書。

更新(2010.11.6) 看完上述入門書籍之後,就應該花點時間好好的完整閱讀directx文件以及部分sample了,加深對dx整個系統,函式的了解。你會發現普通論壇裡60%的問題都是文件裡講過的。

其實入門之後,就沒有固定的學習路線了,最好根據你感興趣的方向來學習。

shader方面:

《cg_tutorial》和《the complete effect and hlsl guide》都是不錯的入門材料,當然還有sdk文件。<>有大量入門的例子。<>詳細介紹了各種光照模型和技術。<> 1~3冊肯定是必讀的,雖然有1,2有中文版,但某些翻譯並不是很理想,強烈建議直接看英文版。shaderx系列也是很經典的系列,每年出版一本,包含了最新的實時渲染技術,如今已經出了第6冊了。不過網路上只能找到1~3冊。1,2冊大部分shader都是用asm寫的,不過看懂原理,轉換為hlsl也並不難。另外nvidia sdk和ati sdk也是學習shader的重要資源。最後還有剛出的<< programming vertex, geometry, and pixel shaders>>

更新(2010.4.30):shaderx已經出版了第7冊,後續的版本由於版權原因,改名為gpu pro: advanced rendering techniques,仍然每年出版一本。

更新(2010.11.6): **人民的智慧型是無限的,很多圖形學的新書都能在taobao買單翻印的紙版了,包括shaderx系統等等….. 

更新(2014.6.24):

shader系列:shader1~7 +gpu pro1 ~ 5

gpu gems:gpu gems 1 ~3

更新(2010.11.6): 關於shaderx和gpu gems常常有人問我較老的幾冊值不值得看,還有看不懂怎麼辦。這裡是我個人的看法,僅供參考:shaderx和gpu gems收錄的都是比較前沿的技術,雖然每本之間沒有連續性,但很多技術都建立在之前的方法上。有時間的話,建議從第一本看起。兩本書都屬於**集,章節之間並沒有太多連續性,所以不必從第一頁看到最後一頁,選擇你感興趣的部分即可。比如對陰影感興趣,就只看陰影相關的章節,你可以看到整個陰影技術近10年的發展,變化,很有價值。另外,書裡很多前沿,實驗性的技術,由於硬體限制,通常要2,3年後才有可能普及,現在看以前的幾冊也不會太"過時"。 最後,這樣的書內容涉及了圖形學的方法面面,2d,3d,影象處理,ai,遊戲構架,gpgpu等等,範圍太過廣泛,特別是gpu gems相比shaderx更偏重學術研究,很多技術最終不一定能實際應用到產品中,有些章節看不懂也屬於正常現象。 

地形:<>非常全面的討論了關於地形渲染的各種技術,至少應該把第5~9章都瀏覽一遍。之後便可以 到virtual terrain查閱近期的地形渲染技術。

更新(2010.11.6): 經常嘗試用pix分析你電腦上的遊戲,地形渲染通常是最容易分析的部分,而且可以讓你馬上了解目前流行的地形渲染方法。

模型匯入和動畫:

<>,僅此一本足以。

更新(2010.5.5):<>已經可以很容易的找到了, 此書介紹了目前最新的遊戲動畫技術,作者是xbox360大作alan wake的開發人員,完全可以替代上面提到的那本。

物理:<>和<>都不錯。<>是碰撞檢測方面最好的書。:<<3d game engine design, 2nd>>的8,9章也值得一看。

lod:

<>

ray tracing:

<< physical-based rendering – from theory to implementation>> 

更新(2010.4.30): 一本免費的入門教程another introduction to ray tracing

更新(2010.11.6): 此書已有第二版,而且某**有翻印版**。

引擎設計: 

更新:<<3d game engine design, second edition>>出了影印版本,此書是<<3d game engine architecture engineering>>更新版,強烈推薦。 

最近發現<>也很不錯,200多頁短小精幹,但是可以讓讀者快速了解乙個既有引擎的設計和構架。 

更新(2010.7.15): 新出的《game engine architecture》非常不錯,注意是jason gregory的版本。如果只推薦一本引擎方面的書,絕對是這本。傳說有掃瞄電子版了。

更新(2010.6.28): <>是關於引擎設計的新系列叢書,與shaderx類似,也是每年一本,目前已經出版了第一冊,已有電子版

ai & game programming 

<>非常不錯,好像還有中文版,備選<>(已有第二版)。當然<>系列也是必讀作品,不過目前網路上只有1~2冊。 

更新(2010.5.28):<>已比較好找了,雖然說這是一本名不副實的書,並沒有完全介紹乙個"one for all"型別的引擎,也沒有具體演算法討論,但針對各種不同型別遊戲的ai設計做了詳細介紹,可作為一本指參考導性書選擇閱讀。

網路:mai%25##&%…(本人網路白痴 +_+……..)

綜合: 

<>系列,不過由於內容涉及的過於廣泛,文章質量參差不齊,選擇性閱讀就可以了。歷年gdc, gamefest,siggraph等大型會議的*****也是應該關注的。至於那些「all in one」或者n天較你寫出個fps遊戲的書就不要讀了,這類書的通病是什麼都說了,結果什麼也沒說清楚。

除了大量教程以外,論壇裡多年累計下來的內容保羅永珍。好好利用論壇搜尋,你會發不管你多厲害,那裡總有一些比你強大的人在很久以前就遇到了和你同樣的問題,並且給出了解決方案。 

nvidia和ati的開發者中心 

creators.xna.com xna官方** 

與gamedev類似 

這裡的除了討論軟體以外,還能看到對硬體構架的分析 

國內唯一比較專業的遊戲程式設計**,可惜和gamedev相比就顯得太寒磣了-_-#

當然,不要忘了收集各大論壇裡牛人們的blog:)

最後,僅僅靠看書是不夠的,多寫多練才是王道。

ps:以上書籍,除了特別註明的以外,都是可以通過網路或者書店入手的。不要找我要電子書,我能找到的,相信你也能找到,你找不到的,我肯定也沒有。

毫無理由的 堅持、堅持、再堅持!

unity3d引擎程式設計師養成

標準流程 1.c primer 英文版 第四或第五版 全部看完習題做完是必須的。渲染程式設計比較複雜,後期會用到c 的全部特性。c 學的越好後面越輕鬆。要看英文版,計算機翻來覆去就那麼幾個單詞,基礎打好了以後查stack overflow這些 也方便。2.introduction to 3d gam...

Unity3D 呼叫外部程式

unity3d 呼叫外部程式 1 呼叫外部瀏覽器 void ongui 2 呼叫外部exe void ongui unity3d 動態讀取外部檔案 分兩種情況 1,載入封裝好的內部檔案。var aaa material 空材質 var bbb gameobject 要繫結材質的模型 function...

Unity3D開發(九) Unity3d流光效果

遊戲開 壇 hello game 遊戲開發群 201276069 之前曾經注意過material 中紋理的屬性都有 tiling 和offset 但沒有深究過其用途,今天才知道竟然可以利用 offset做uv 動畫,從而完成各種有趣的動畫,比如流光效果!流過效果即通常一條高光光在物體上劃過,模擬高光...