學習3D遊戲開發,需要哪些基礎知識?

本人大四,目前在手游公司從事cocos2dx開發(實習),學習能力強,專業基礎較好,在校學過directx9.0,並做過一些小遊戲,比較朦朧了解dx部分底層的東西。

重點來了,本人想轉去開發3D遊戲,除了學習u3d之外,還需要學習哪些基礎知識?

請各位大大指點一二,如果能給一點具體的學習資料那就實在是太感激不盡了。


學U3D就簡單了, 多下一些U3D的源碼來看, 多逛逛遊戲蠻牛這些Unity3D的網站, 最近那邊開了問答, 有不懂的可以問

3D基礎支持就是熟練記憶背誦3D渲染管線流程, 熟悉3D的基本運行(矢量, 四元數, 矩陣), 熟悉Shader語法, 會編寫一些簡單的Shader

遊戲編程書籍可以參考我博客的介紹, 雖然不是很全, 但都是很經典的書籍

我看過的遊戲開發書籍


3D遊戲引擎那麼多,為何只提u3d?u3d不開源,學不到什麼底層知識,搞u3d再久也只能算是個引擎工具使用者。建議找款開源引擎研究,引擎分很多模塊,包括渲染,物理系統,資源管理,動畫系統,音效,甚至網路模塊等等,選一個感興趣的模塊,了解原理之後,打開源代碼一點一點研究。

又看一眼題目是問基礎知識,不完全列舉一下:

專業知識:編程語言,如c++,c#,lua,等等根據不同引擎對應不同語言。

此外數據結構,演算法,操作系統,網路等都需要。

數學知識:線性代數,空間幾何等。

物理知識:引擎中通常有物理系統,其中涉及到物理知識。

引擎相關:DX或openGL. 進階需要學習shader 編程,渲染。

一般來說,大學課程基本就夠用了。去研究一款引擎,用到什麼知識再去找什麼書讀也來得及。

可以看看這兩本書《window遊戲編程大師技巧》《3D遊戲編程大師技巧》。


計算機圖形學,Opengl,找個遊戲自己模仿著做


就看你想學什麼了,是引擎開發還是邏輯開發。邏輯開發不是很了解,自己都是瞎寫,引擎開發的話可以看3d遊戲編程大師入個門。入門之後書都是大把大把的。然後選個感興趣的領域多研究下。


推薦閱讀:

程序員的電腦是什麼樣的?
程序員怎麼知道用什麼方法解決問題?

TAG:程序員 | 遊戲開發 | Unity遊戲引擎 | 3D遊戲開發 |