[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!
擴充閱讀
Sprite簡介
https://blog.csdn.net/BeUniqueToYou/article/details/74616061?locationNum=8&fps=1
Unity官方教程《Space Shooter》中文圖文版
https://www.jianshu.com/p/8cc3a2109d3b
Unity官方教程《Roll-a-ball》中文圖文版
https://www.jianshu.com/p/6e4b0435e30e
相關文章
- Unity3D 2D實戰遊戲開發Unity3D遊戲開發
- Unity 2D遊戲製作Unity遊戲
- Unity3D遊戲實戰Unity3D遊戲
- Unity3d 入門(一) 瞭解Unity3dUnity3D
- Unity-2D畫素晶格化消融Unity
- UNITY3D 2D物流流體外掛下載|Liquid Physics 2DUnity3DUI
- Unity3D畫直線、畫點外掛Vectrosity簡介Unity3DROS
- 【Unity3D開發小遊戲】《戰棋小遊戲》Unity開發教程Unity3D遊戲
- 裝置畫素、獨立畫素和css畫素CSS
- 遊戲微科普:畫素的魅力遊戲
- 某Unity3D遊戲加固產品分析Unity3D遊戲
- Unity3D遊戲開發最佳實踐20技巧(一)Unity3D遊戲開發
- Unity 2D遊戲開發快速入門第1章建立一個簡單的2D遊戲Unity遊戲開發
- unity3d開發的大型網路遊戲Unity3D遊戲
- Unity3d遊戲開發注意事項Unity3D遊戲開發
- Unity3d 初探Unity3D
- unity3d碰撞Unity3D
- unity3d sqliteUnity3DSQLite
- 遊戲畫素畫風格研究:變遷與發展遊戲
- [Unity3d]unity中http通訊Unity3DHTTP
- 【UNITY3D 遊戲開發之四】有關實現2D幀序列幀播放相關—Animating TiledtextureUnity3D遊戲開發
- canvas畫素畫板Canvas
- 掌握web開發基礎系列--物理畫素、邏輯畫素、css畫素WebCSS
- [Unity3D]Unity3D遊戲開發之Lua與遊戲的不解之緣終結篇:UniLua熱更新全然解讀Unity3D遊戲開發
- Unity3d Android SDK接入解析(一)Unity3d 與 Android之間的互相呼叫Unity3DAndroid
- unity3D進階Unity3D
- Unity3d 陀螺儀Unity3D
- Unity3D入門Unity3D
- 幹掉Unity3DUnity3D
- Unity3D引擎助力 《魔域手遊2》實機畫面效果展示Unity3D
- Unity3D獨立遊戲開發日記(一):動態生成樹木Unity3D遊戲開發
- 什麼是物理畫素、虛擬畫素、邏輯畫素、裝置畫素,什麼又是 PPI, DPI, DPR 和 DIP
- 用 CSS 做畫素畫CSS
- 畫素畫——明暗基礎
- 為什麼畫素遊戲開始變多?遊戲
- Unity3D Shader官方教程翻譯(一)Unity3D
- 【Unity】(2D)物體拖拽Unity
- 從零點五開始用Unity做半個2D戰棋小遊戲(一)Unity遊戲