[Unity3D] 2D畫素遊戲(一) Hello Unity!
引言
事先宣告:這兒只是一位自得其樂的遊戲開發愛好者的學習筆記,不追求絕對正確和優雅高效,但儘量保證簡單易懂(怕自己以後也看不懂自己在寫些什麼),如果不小心誤導了大家,那真是無意之舉了。單純期盼最後能做出一款屬於自己真正的小遊戲而已,只是突然萌生了用部落格記錄過程的想法。那麼趕緊開始吧!
使用的軟體
- Unity 2018.2(小遊戲還不會用到很多高階技術,只要不是太老的Unity應該都可以)
- Visual Studio 2015(之後會寫C#指令碼,因此編譯器還是需要的)
- Photoshop CC 2017(處理素材&自創素材&編輯插圖)
- GifCam(製作動圖的小軟體)
Unity面板
面板介紹
建立一個2D Project之後,就看到了好多面板,這裡務必要簡單介紹一下主要面板的作用。
- 場景(Scene):遊戲呈現的場景就會顯示在這裡,相當於一個預覽的作用。
- 層次(Hierarchy):該場景的所有遊戲物件都會在一個列表上顯示的清清楚楚
- 專案(Project):也就是專案資料夾啦,整個專案的檔案目錄。
- 屬性(Inspector):直譯的話叫“檢視”,但我覺得它更符合“屬性”的概念,任何一個物件的具體資訊都會在這裡呈現。
- 遊戲(Game):模擬遊戲執行時的畫面,就跟遊戲釋出後一模一樣。
面板調整
如果你的第一反應是:這怎麼跟我的Unity長得不一樣?
那就對了。我之前進行過面板位置的調整,畢竟要每天一直看著它,總得調的賞心悅目一點。
內建預設
在上面的工具欄裡: Window -> Layouts
裡面都是自帶的視窗設計,總有一款合你口味。
自定義預設
當然裡面的Save Layout
功能也不是擺設,你可以儲存當前面板為一個自定義預設,下次再也不怕打亂面板了!
操作模式
頂部的一排按鈕也非常的實用,但是!我現在只用下面這幾個:
:拖拽模式。不想碰到場景裡的東西,只想移動視角,就在這個模式下按住滑鼠拖拽畫面吧。快捷鍵 Q
,2D模式下還可以直接使用滑鼠右鍵
:移動模式。想移動某一個物件的時候,就在這個模式下移動物體。快捷鍵 W
:執行。想測試遊戲的時候,按播放鍵自動跳轉到遊戲
:暫停。想暫停測試的時候,按暫停鍵中斷測試。
預熱
在正式開始上手之前,最後再分析一波各個面板間的聯絡。
首先一個專案代表了一整個遊戲,而一個場景檔案代表了一個關卡,所有的場景檔案最好都儲存在專案面板裡的Scenes資料夾下(養成好的分類習慣!)。我們設計一個關卡的時候,場景面板呈現關卡的樣貌,而關卡里的遊戲物件都會列在層次面板裡面,物件的資訊都在屬性面板。我們測試執行的時候,由攝像機(也屬於遊戲物件)捕捉場景畫面呈現在遊戲面板上。開發遊戲就是個不斷建立檔案,不斷新增功能,不斷除錯執行的過程。
建立第一個GameObject
一個遊戲很多時候是圍繞著主角進行的,所以我們首先要建立一個主角出來。
Sprite(精靈)
2D模式下最常用的物體就是精靈(Sprite)。精靈使一張毫無生機的平面圖像變身成為可以操作,運動,碰撞等等的一個活生生的遊戲物體。當然這需要我們把影象、指令碼等功能性元件依附到我們的遊戲物體上。
尋找素材
如果大家有自己喜歡的畫素小人是最好不過的了,這裡既然只是做個學習筆記,我也就自己隨便畫一個胖嘟嘟的火柴人充數吧。
好啦!一個可愛的主角誕生了!(大家拿去用是我的榮幸)
匯入素材
需要先把影象匯入到專案裡,步驟是:
- 在專案裡先通過
右鍵 -> Create -> Folder
新建一個Sprites
資料夾,用來存放所有的Sprites影象。 - 在
Sprites
中空白處右鍵 -> Import New Asset...
,選擇自己的主角匯入。
此時專案中應該有類似這樣的檢視:
如果美工(這裡指自己)給完圖片,你還想修改檔名的話,只需在檔名上極其緩慢地單擊兩下就可以重新命名。這裡就順便給“火柴人”取個名字吧,叫LittleBuddy。
建立精靈
- 在層次裡,
右鍵 -> 2D Object -> Sprite
,我們會看到一個New Sprite
接下來是官方推薦的標準動作,建議在建立每個GameObject之後都做一下。
- 重新命名:屬性中最上方是名字更改,改為Player。
- 重置: 屬性中的Transform欄的右上角,有一個小齒輪,單擊後選擇下拉列表裡的
Reset
重置座標
現在的精靈處於No Sprite的狀態,我們把剛剛匯入的LittleBuddy依附到Player上。
- 將LittleBuddy從專案裡拖到Sprite Render欄的Sprite裡。
至此已經看到左邊的Scene已經出現了我們的小巴迪,那就算是已經建立成功了。
另外值得一提的是,屬性中可以看到Player初始帶有2個元件:Transform和SpriteRender。所有的GameObject最後都是通過載入元件的方式成為一個真正被我們所操縱的例項物件的,通過元件可以非常方便的新增/刪除某些功能。這也是為什麼Unity的上手度比較強的原因之一。
趕快執行一下!
Hello LittleBuddy!