[Unity3D] unity3d:Unity3d客戶端開發,要深入學習,更需要先從哪方面入手?

本人做了快一年U3D客戶端開發。目前總覺得遇到了瓶頸,不知道該從哪個方面提升自己能力。望各位大牛指點一二。



1、深入研究C#,包括CLR之類

2、學習圖形開發,Opengl和Directx,還有shader等

3、提高數學能力,空間幾何、線性代數之類

4、提高程序開發能力,設計模式、算法等

5、學習網絡編程,轉服務器開發,並學習其他語言

6、學習3D建模、繪畫、UI設計、遊戲策劃,提高獨立開發能力



以上是我能想到的幾個方面。我知道每個方面都重要,深入研究都可以有造詣。可是這些方面我都只是略知皮毛,似乎開發個產品也可以,卻不能做到隨心所欲的使用。而我現在又沒有太多業餘時間,所以想有個學習計劃,對我目前的工作內容,哪些最需要先學習,哪些可以以後慢慢研究。再次希望各位有經驗的人士能夠指點一二,謝謝。
 
   

14

主題

273

帖子

1923

積分

超級版主

Rank: 8Rank: 8

積分
1923
沙發
 發表於 2014-6-27 16:22:29 | 只看該作者
@樑偉國 說的很好,但我覺得2,3條也不是沒必要的,特別是做3D遊戲。我現在就在專門研究Cg和圖形學的東西。自己在工作之餘還折騰出了幾個插件 ,放在Unity商店裏賣着玩,每個月還能搞個上百美刀。


Asset Store



從題主的問題中可以看出題主的一點迷茫,就像一年前的我,我也就比你多一年Unity經驗。從一個打工者的角度來跟你探討一下,也跟大家都探討一下,不光探討Unity技術,也探討一下以後的方向。這裏說一下我自己對這個行業的思考。



現在Unity流行了,只要會寫幾行C#代碼的人都能進個遊戲公司寫點邏輯,但真正精通的人不多。我當初C#都沒學過,只會Java,都進了個小遊戲公司,花了個把月的時間就參與開發了,當然也就是搞點優化,改改BUG,寫點邏輯之類。現在越來越多的人用Unity了,我甚至可以預料,未來的幾年內Unity會更加流行,說不定會到處是培訓機構。到時候會有一大波人涌入這個行業,就像現在的Java開發SSH三大框架之類的。




我們面臨的問題:Unity入門門檻低,註定以後的Unity從業者會越來越多,競爭會越來越激烈。



我剛畢業的時候待過一個比較大的公司,做銀行的信貸系統。那時剛開始學java,自己工作之餘也看一下書充電,項目經理卻跟我說,技術不重要,重要的是實現。後來我才知道,我當時是做一個工廠流水線工人,碼農一個,技術確實不重要。公司巴不得我什麼都不懂,只會if else,解決邏輯的問題,發一點微薄的薪水就行了。




於是我明白了,不想做產線工人,首先要脫離當前層次。要做到公司少了你不行! 
這個時候你必須掌握一些門檻高的技術,你才能拔尖。



有些技術是靠經驗堆積的,比如整個框架的設計,設計模式的運用。我倒覺得這個能力只要你平時留心,掌握它們只是個時間的問題。

而有些技術,是要去實打實鑽研的,不看透幾本英文原版書,不逛遍幾個論壇,你永遠不能get it。
越是難的東西,越能拉開你跟別人的距離。



比如學Cg,很多資料都是英文的,像Cg的官方教程
The Cg Tutorial,還有這個
Cg Programming/Unity,不看這些書,根本入不了門吧。 還有最著名的《Real-Time Rendering》,都是英文的,還需要很多數學知識。像線性代數裏的矩陣變換,這些東西雖然大學都有學過,但在這裏才真正用上。在開發的過程中遇到問題了,要上網查吧。我跟你打賭,你要是碰到個C#的問題,去stackoverflow分分鐘就能查出來(甚至去百度都能查出來)。但要是你碰到個shader上的問題,可就不好查了。Unity裏面很多東西都是沒資料查的,你只能去論壇裏跟人交流,去看源碼,去看UnityCG.cginc,去看AutoLight.cginc。總而言之,就是不好弄啊。等你深入的去研究這些的時候,慢慢的你就發現,好像公司裏就你在弄這個,別人都不懂。這個時候你就牛逼了啊。



以後手機的性能越來越好,高品質的3D手遊會越來越多,雖然可能現在國內大部分公司做的手遊是2D的,但以後一定會有更多的3D手遊涌現。
我相信手遊拼3D特效的時代馬上就要到來了! 所以我感覺學圖形學的東西還是比較有前途的。



當然這也跟你自己的愛好有關吧。反正我是覺得,如果以後要跳槽,面試的時候,你拿着一個遊戲說,這個遊戲框架是你搭的,可能面試的人很難確定,誰知道你這框架搭得好不好。但如果你說這個遊戲的所有3D特效和Shader都是你寫的,這就一目瞭然了。
 
 
   

8

主題

266

帖子

1885

積分

超級版主

Rank: 8Rank: 8

積分
1885
板凳
 發表於 2014-6-27 16:22:32 | 只看該作者
謝邀。



前面三條其實沒太大必要。現在行業對自研引擎的技術需求不大。而那些數學知識,在真正需要用到時,臨陣抱佛腳補補功課就能搞定。



第4條是肯定要深入的,無論是做爲客戶端還是服務端程序。

第5條網絡編程也是必須的,聯網是無可爭議的趨勢。

第6條就看你有沒有美術方面的天賦以及想不想走獨立開發的路線了。



其實你現在才工作一年多的時間,求知若渴階段,所謂藝多不壓身,任何領域的技術學了都有好處。所以,在不影響本職工作的前提下,你大可遵循自己內心的喜好去學習。不要夾雜太多的功利心。要比以往更加勤奮,把別人泡論壇刷微博的時間用來學習,選擇性忽視那些靠投機獲得升職漲工資的人。再過一兩年,你會站得比其他人更高。
 
 
   

10

主題

265

帖子

1883

積分

超級版主

Rank: 8Rank: 8

積分
1883
地板
 發表於 2014-6-27 16:22:34 | 只看該作者
個人認爲前三條是比較重要的

理解機制,明白原理在一定程度上是掌握了一種小衆技能,任何行業,發展到最後,核心都是小衆的,但是價值也在這一塊,只是研究小衆技能不是沒有門檻的,需要你有更多的基礎技能,先把基礎的技能先弄好了在說,養家餬口的東西。

上帝讓一個東西滅亡,必先讓其瘋狂。如果想在這一行走的長遠,掌握底層核心的技能纔是關鍵啊。很多年前unity沒火起來,unreal cryengine還是很高大上的,誰能說能預料到unity的今天呢,同理,很難預測flash的夕陽西下,未雨綢繆吧。

同意 
@kUANG tOBY說的,核心競爭力。

保持一個學習的心總是好的,如果不想一直做沒有技術含量的工作,就抓緊學習吧。扔骰子學習也未嘗不是個辦法,因爲探討這些東西的時間,不如花在學習上。
 
 
   

27

主題

264

帖子

1910

積分

超級版主

Rank: 8Rank: 8

積分
1910
5#
 發表於 2014-6-27 17:03:15 | 只看該作者
這樣,拿一個骰子,剛好六個。

1.提高直覺能力,面朝上就選哪個。

2.提高思維空間能力,選面朝下那個,但是要根據面朝上的點數來猜。

3.提高運算能力,多扔幾次,求平均數,做概率分析。

4.轉行,用骰子幫人算命,或者去澳門賭場。



最後,請思考一下,你的興趣,你的夢想是什麼?
發佈了53 篇原創文章 · 獲贊 13 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章