作爲一個Unity遊戲開發程式設計師,你到底需要掌握哪些技能?

許多學習Unity開發的小夥伴們可能在初入公司時不知道該做些什麼,這篇文章讀完後大家們可能會對這一方面的疑惑有所感悟。

一、Unity作為3D遊戲引擎必須要掌握固定流水線和可編程流水線,因為涉及到矩陣變換的知識點,在項目開發中會用得到的,如果讀者不懂的可以查閱資料。

二、Unity作為3D引擎有自己的座標系,在此強調一點,雖然它的圖形API分為DirectX和OpenGL,但是它的世界座標系是左手座標系。

三、另外要掌握的座標系有屏幕座標系,UI座標系,視口座標,包括它們的原點是在哪個位置,因為在項目開發中也會涉及到以上三個座標系之間的變換。

四、函數的執行順序,比如Awake,OnEnable,Start 等,以及3D碰撞體的執行效率,比如球體,膠囊體,立方體,Mesh等等。

五、內存優化還需要涉及到圖片的格式,不帶Alpha通道的圖片採用jpg格式,帶有Alpha通道的採用png格式,這是一種處理方式,另外一種處理方式就是將Alpha通道單獨拿出來,所有的圖片都是jpg格式,然後用帶有Alpha通道的圖片跟jpg格式文件進行結合使用。這樣也可以優化圖片的大小。

六、在架構設計方面,就要注意了,代碼的編寫,比如常用的設計模式,工廠模式,單例模式,MVC模式,FSM模式,觀察者模式等,這些模式作為開發者必須要掌握的。

七、接下來就是Shader編寫了,在這裡給讀者推薦一個編輯器工具Shader Forge編輯器,對於一些材質渲染非常好用,這個可以作為讀者學習Shader的工具。

作為一個Unity遊戲開發程序員,你到底需要掌握哪些技能?

八、另外對於C#中定義的String,StringBuilder或者List,ArrayList等它們之間的區分要搞清楚。

九、不同機型的適配處理,技術驗證等。

十、熱更新技術的實現,市面上應用比較廣的是ulua作為腳本語言的框架設計。

十一、作為客戶端開發者也需要了解一些網絡方面的知識,比如tcp,udp,http這些協議處理的方式。

十二、作為渲染場景的後處理方式,比如Bloom,Blur,HDR,SSAO,PSSM等等。

十三、C#中的事件監聽,委託的使用也要熟練掌握。

十四、協程與多線程的區別。

十五、文本文件的加載,比如json,xml,csv,二進制等等。

最後給大家推薦我的Unity學習開發分享群:785372460 有免費Unity學習資料,還有各種趣味案例等,歡迎各位加群!


分享到:


相關文章: