求教一年unity3D經驗需要掌握哪些知識?

現在找Unity3D的工作大多都要求一年以上經驗,我想請教各位前輩,一年Unity經驗的開發者比第一次進入公司工作的開發者多了哪些知識,經驗和技巧?望各位前輩不吝賜教!


我現在半年多經驗了,別的不說,至少要會一款UI插件(我用NGUI),懂得模型動畫粒子貼圖這些七七八八的常用東西(就算詳細的不了解,也得懂得哪個調用那個。比如你不知道動畫系統有分新舊各有什麼優缺點,你好歹得知道動畫是被模型調用的,貼圖是貼在模型上而不是動畫上)。重點來了,一定要懂一點C#!而且思路要清晰,方法要會自己找!!!

不求成為大神,把for,if這些寫好就不容易了。

比如我昨天寫了個補全三位數的功能:

int i;

string s;

這是前提,然後是

if(i/10==0)

{

s="00"+i;

}

else if(i/100==0)

{

s="0"+i;

}

能看懂吧?做的就是判斷一下原來是幾位數的,一位數的就在前面補兩個0,變成00x,兩位數就變成0xy,三位數就還是xyz。

被boss看到我這渣代碼以後他默默的寫了一句:s = i.ToString("d3");

這就是差距1!!!

代碼性能很重要。C#沒學好就我這樣的。執行一次的代碼被我寫的至少要計算一次,再判斷一次,再執行一次。而我這個代碼是包在for循環裡面的。。。不過這個都只是經驗問題,有人帶的話,不用太過擔心。

再來說說差距2。

要做一個控制視頻播放速度的效果。Unity自帶的函數里沒有,相關的插件也無效,怎麼辦?

我只想到了把視頻貼到模型上作為動畫播放,控制視頻播放速度就變成控制動畫速度。

boss除了這個還想到了好幾個辦法:把視頻搞成圖片,一幀一幀貼上去,通過更改幀數率來改視頻速度。把視頻播放器改成Unity插件,然後直接用插件實現。視頻播放放在安卓里實現,用unity調用安卓。。。

我因為常用3DMAX和unity所以思路都是從這兩款軟體中我會用的功能出發的。人家才不管你用什麼軟體啊,能實現最終的效果就好。先找到理論上能實現效果的路再說。先確定是從北京直接到福州,還是從北京到廈門再到福州?至於是動車飛機還是輪船不重要啊!要是腦子裡想著福州只有輪船,於是決定先從北京到台灣,再從台灣坐輪船到福州。。。(不要糾結福州是不是真的只有輪船,這只是打個比方)

方法不會沒關係,思路先想清楚更重要!!!

遲了,我速度的說一下差距3吧~

剛來工作的時候,boss花了一下午給我理清楚思路寸:先查詢資料庫,然後把記錄存到XML上,再web上調用這個XML。

思路懂了沒?

懂了。

那會做么?

不會。

(這裡該有張圖)哪裡不會做?

/(ㄒoㄒ)/~~哪裡都不會,怎麼查詢資料庫並顯示?怎麼把選中的記錄導出xml?導出的xml怎麼連接上webservice?

後來boss又耐著性子給我講了怎麼連接資料庫,怎麼查詢,怎麼把查到的記錄在窗體顯示。。。

現在,boss就一句:這個資源太大了,不要放在項目裡面,獨立出來。

(⊙o⊙)於是我就苦思冥想:要把資源獨立出來的話,就得獲取路徑動態讀取。路徑可以用個string。而且不在項目內部了,讀取文件的時候還得先轉成位元組流,然後再賦值。文件夾里不止一個文件,那還得建個數組來存放。嗯,先測試一下單個文件的外部獲取,可以的話再換成文件夾。。。

至於怎麼讀取路徑里的文件這種問題,聯網查一下就好。

所以說,方法不會沒關係,前提是能找的到!!!

好吧,一點都不速度。。。

還有差距4,差距5...有些差距可以通過工作時間長了,經驗豐富自動補足。有些差距則必須在平時有意識的補,因為它並不會隨著時間的流逝而減少的。

語文不好,說的有點亂,請見諒。

(*@ο@*) 哇~我的第一篇長答耶


一年unity3d經驗開發者比第一次進公司工作的開發者多的知識:

1.對unity3d的操作熟悉程度

2.對各種組件的認識以及組織運用

3.對c#語言的熟悉與運用

4.你會知道你還需要學什麼,什麼是你不懂的

一年unity3d經驗開發者比第一次進公司工作的開發者多的經驗:

1.當你遇到困難你會如何去發現並解決問題的思維和方式

2.熟悉遊戲基本的開發流程

一年unity3d經驗開發者比第一次進公司工作的開發者多的技巧:

1.腳本跟組件之間工作效率的提高

2.腳本的運行效率和組織編寫技巧


推薦閱讀:

#每天一個小目標#Unity技術分享(六)
從《城堡戰爭》到《皇室戰爭》看如何從war3自定義地圖開發手游新玩法
Unity載入模塊深度解析之動畫片段
UWA DAY 2017開啟報名

TAG:Unity遊戲引擎 | 手機遊戲開發 |