學習3D遊戲開發,需要哪些基礎知識?
01-11
本人大四,目前在手游公司從事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遊戲編程大師入個門。入門之後書都是大把大把的。然後選個感興趣的領域多研究下。
推薦閱讀: