小弟我三不五時就喜歡在各大社群徘徊,其中與遊戲設計相關的包括巴哈姆特哈啦版、PTT Game Design版、各大FB社團與Line群…
當提到學習Unity,常常看到些一再出現的問題,例如:
「我該先去學C#還是直接碰Unity?」
「大家有沒有推薦哪一本書?」
「我(作業/專題/畢製/案子)要用到某功能,可以直接告訴我怎麼做嗎?」
相信有在follow社群的人都可以感同身受,有時看到這些文章難免會有種「怎麼又來了」的想法
不過換個正面的角度想,這代表Unity的社群很活絡,不斷地湧入新的使用者!
我接觸Unity也2年多了,雖然跟眾多大大比起來不算久
至少我也是經歷過Unity 5一口氣推進兩千多版衝到Unity 2017的 (X
既然我平常就很愛寫廢文
然後這陣子也沒在幹什麼大事 時間蠻多的
那就寫一篇文章來彙整「剛入門那時候的我會希望看到的資訊」吧!
我打算分成三篇來談
希望可以幫助到認真想把Unity基礎慢慢培養起來的人
以下的內容對於想要速成的人可能幫不上忙QQ
前情提要
2016年11月,我已經跟著學校的課程接觸過C、C++了,
網路成癮症狀正在萌芽的我偶然在網路上看到一個直播節目
《政問S3 03 游明揚》台灣遊戲產業啟示錄:昔日領先、現在追趕、未來怎麼走?
突然激起了我一個念頭:我會寫程式,又很愛打遊戲,不如自己來做個遊戲試試吧!
(真要說的話,我做遊戲的首次嘗試應該要追溯到高中玩魔獸爭霸3的地圖編輯器)
新手村第1階段:跟著網路上的教學跑流程
經過爬文後,我發現大家普遍在使用的工具是Unity Engine
於是就往這方向尋找教學文章,找到了這個:
Unity教學 2D小遊戲製作 @ 讀樂島:: 痞客邦 ::
我照著它5個part的教學一步一腳印做出了自己的第一個小遊戲
(文章中有些介面、API已經和現在不太一樣了,但還是蠻堪用的)
這篇教學讓我對Unity的運作方式有了初步的認識
我現在還是不太清楚作者的身分
你有看到這篇文章的話 我想要謝謝你!!!
在這之後,我又接觸了幾個網路教學影片
像是2D UFO Tutorial, 2D Brick Breaker Game In Unity
跟著教學一個口令一個動作很輕鬆,但同時也是個裹著糖衣的毒藥
你以為你做了很多事情,但實際上過程中有在思考的比重可能不高
有不少新手就卡在這裡,沒有進到下一個我覺得更關鍵的階段。
新手村第2階段:試著憑空做出一個小型遊戲
看再多教學影片、把別人的code抄筆記抄下來、買實體書來讀
終究都是屬於別人的知識,我們只是被灌輸的一方
我在上一個階段也卡了很久,畢竟只要1~2小時內就會刻出一個完整的遊戲專案
這種成就感對新手來說是很誘人的,還能跟朋友炫耀說這是自己做的(?)
現在回想起來,拋開教學自己嘗試make something才是最有效的學習方式
這是我在2017年初的小遊戲,那時大概已經入門Unity 2個月。
( 對了,我始終沒有去接觸C#的基礎知識
而是直接把它當C++來用,有問題才上網查文件XD )
直到接觸這個專案,我才真正將各個Component和API的運作化為自己擁有的知識
Time、Input、Collider、Rigidbody、UI Canvas…多用幾遍就自然而然記起來了
大家做的第一款遊戲都難免很陽春、事後看起來覺得很中二
( 當時這個部落格也剛誕生
我甚至打算為這個專案錄個有配音的系列教學影片
天啊XDDD 還好錄完前言就停止了 )
但我覺得這是我收穫最多的時期,因為不再有文章或影片在旁邊告訴我下一步該做什麼
在開始做自己的專案前
你對於下列問題可能都只有很模糊的概念
●鍵盤輸入的Input.GetKey跟Input.GetKeyDown分別適合用在哪?
●為什麼2個掛著Collider的物件對撞沒有反應?
●OnTriggerEnter2D的參數是吃Collider2D,OnCollisionEnter2D是吃Collision2D(我被這件事搞過!!!)
●為什麼每次匯出成執行檔之後UI Canvas都擅離崗位?
因為教學文通常都直接告訴你結果
很少提到為什麼不能這樣寫(除非是作者自己不小心做了錯誤示範)
但只要你實際踩過一次坑,對這些事情就會非常記憶深刻!
對初學者來說,展開自己的專案想必是成就感與挫折感參半的
(我在這學期當遊戲程式設計助教的過程中特別有感)
這時候你面對困境的方式也會大幅影響你的收穫多寡
有些人很樂意被一個問題卡住好幾個小時,多方爬文之後才終於解決,頓時Filled with determination
也有人沒那麼重視思考的過程,希望可以馬上得到答案,於是到處找人求救
對於後者來說,如果總是抱持這樣的心態其實是危險的
善用資源當然是好事,能遇到願意幫你解答的人是一種福氣,台灣的Unity社群真的很溫暖
但是
你在問題被解決後是否有試著釐清自己的盲點?
還是被人從地上扶起來之後又很開心地繼續橫衝直撞,隨時都可能再摔倒一次?
這幾個小地方的差異就會造就有人一直在升等、有人只能一直戳史萊姆
不只是學Unity 對很多事來說都是一樣的
若是想要獲得成長
就勢必得試著自己往上爬,不要總是等別人幫你蓋好樓梯
養成這樣的好習慣後,我認為就已經具備爬出第一個(後面還有很多…)低谷的能力了
可以準備往下一階段邁進!
下回預告: 給Unity初學者的建議(中) – 探索更大的世界
One thought on “給Unity初學者的建議(上) – 爬出低谷”