Unity框架設(shè)計(jì):Unity架構(gòu)師如何提升
前言
今天我從一個(gè)從業(yè)10多年的游戲開(kāi)發(fā)者角度,來(lái)給大家介紹Unity?架構(gòu)師如何提升與成長(zhǎng)。
最終到技術(shù)總監(jiān)
1:?扎實(shí)的基礎(chǔ),?騰訊,網(wǎng)易這些一線(xiàn)大廠(chǎng)都非常注重基礎(chǔ)知識(shí):
????(1)?語(yǔ)言基礎(chǔ),?協(xié)程原理,委托,event的作用等;
????(2)?數(shù)據(jù)結(jié)構(gòu)與常用算法:??鏈表,?樹(shù),?算法,圖的遍歷,樹(shù)的遍歷,算法時(shí)間與空間復(fù)雜度等;
????(3)?扎實(shí)的unity基礎(chǔ), unity的每個(gè)點(diǎn)你都知道,比如如何降低drawcall等。
????(4)?扎實(shí)的3D數(shù)學(xué),游戲數(shù)學(xué),?向量,四元素,矩陣,?法線(xiàn),點(diǎn)乘,叉積等等。
????…
2:?代碼設(shè)計(jì)思想,?框架設(shè)計(jì)能力,項(xiàng)目管理能力:?
????(1)要明白主流的框架設(shè)計(jì)思想,MVC, ECS等。
????(2)要熟練的使用主流的一些設(shè)計(jì)模式,并有自己的體會(huì),而不是死記。
????(3)明白開(kāi)發(fā)游戲的主要需求,以及每種需求對(duì)應(yīng)的框架設(shè)計(jì)。完成的組成框架。
????(4)?熱更新,資源管理,網(wǎng)絡(luò)管理,調(diào)試模塊,工具模塊,與服務(wù)器對(duì)接等經(jīng)典的設(shè)計(jì)要熟悉。
????(5)?項(xiàng)目管理,明白不同階段開(kāi)發(fā)者對(duì)如何開(kāi)發(fā)項(xiàng)目,如何安排提升,如何考核與管理。
????(6)?熟悉游戲項(xiàng)目部署與運(yùn)營(yíng)技術(shù),比如版本更新,資源更新等。
3:?熟悉精通游戲中常用的算法,拿起就能開(kāi)干:
????(1)地圖編輯器的設(shè)計(jì)與實(shí)現(xiàn);
????(2)?尋路導(dǎo)航算法;
????(3)?基于場(chǎng)景樹(shù)的資源管理;
????(4) Mesh切割,程序生成地圖;
????(5)AOI,?幀同步設(shè)計(jì),?物體運(yùn)動(dòng)與分解。
4: Shader進(jìn)階:
????(1) Shader重要性:?炫酷的效果需要Shader,??渲染性能需要Shader,??有趣的玩法需要Shader
????(2) Shader的基礎(chǔ)開(kāi)發(fā), Cg?基礎(chǔ),?常用Unity Shader API?功能。
????(3)?主流經(jīng)典的Shader技術(shù)自己最好都要實(shí)現(xiàn)一遍:?水,卡通渲染等。
????(4)多閱讀別人寫(xiě)到的Shader代碼,?掌握主流的Shader開(kāi)發(fā)技巧;
5:?性能調(diào)優(yōu):
????(1)內(nèi)存分析與優(yōu)化技巧;
????(2)包體分析與優(yōu)化技巧;
????(3)drawcall分析與優(yōu)化技巧;
????(4) Shader性能分析與優(yōu)化技巧;
????(5)?游戲算法性能分析與優(yōu)化技巧,比如時(shí)間換空間,空間換時(shí)間,動(dòng)態(tài)規(guī)劃。
6:?與網(wǎng)絡(luò)服務(wù)器對(duì)接:
????(1)TCP?通訊, http通訊?Websocket,這些對(duì)接與使用相當(dāng)熟悉
????(2)數(shù)據(jù)協(xié)議要非常熟悉?json, xml, BASE64, protobuf的使用;
????(3)常用網(wǎng)絡(luò)游戲的基本常識(shí),?同步,重連等。
7:?游戲服務(wù)器開(kāi)發(fā),?技術(shù)總監(jiān)都是全棧。只有全棧才能帶網(wǎng)絡(luò)游戲項(xiàng)目:
????a:??游戲服務(wù)器基礎(chǔ), TCP, UDP, http, epoll, IOCP,數(shù)據(jù)協(xié)議,通訊協(xié)議等。
????b:??游戲服務(wù)器框架設(shè)計(jì),?要做到高性能,高并發(fā)。
????c:??分布式游戲服務(wù)器設(shè)計(jì)與開(kāi)發(fā)。
????d:??核心游戲類(lèi)型的主題的技術(shù)攻關(guān)?MMORPG (TCP,?狀態(tài)同步,?AOI)??(Moba UDP?幀同步)。
????e: Linux?服務(wù)器的上線(xiàn)部署與發(fā)布。
9:?拓展我們自己邊界:
????我們開(kāi)發(fā)會(huì)有自研項(xiàng)目,購(gòu)買(mǎi)別人項(xiàng)目本地化,?第三方開(kāi)源項(xiàng)目,所以要勇于拓展自己的邊界。
比如服務(wù)器,要熟悉不同的技術(shù)與方案。C++, Java, Node.js?等。
????客戶(hù)端要熟悉不同的技術(shù)方案:Unity, Cocos, Laya, UE4等。
????你的視野決定了你的格局,對(duì)技術(shù)保持必要的關(guān)注,是一個(gè)技術(shù)總監(jiān)必備的技能。? ??
好了,祝你在技術(shù)總監(jiān)這條路上越走越順。前途是光明的,道路是曲折的。加油。
附:視頻教學(xué)
https://www.bycwedu.com/promotion_channels/2146264125