Unity开发之-Unity入门简介(近万字攻略)
前言
大家好,我是一個Unity的程序員,從這篇開始我會持續更新學習Unity的基本,去幫助想要學習unity的小伙伴,有興趣的同學可以跟著我一起學習Unity,下面,我們將要開始了解Unity以及想要制作一款游戲需要具備的知識。
制作不易還請各位一鍵三連哦!
本文下面介紹的是Unity關于游戲開發的一些知識,也歡迎想基本了解Unity大家前來觀摩,準備好,馬上開車了!
文章目錄
- 前言
- unity的學習路線
- 第一階段 什么是Unity?
- 第二階段 C#編程
- 第三階段 熟悉Unity引擎的基本功能
- Unity資源文件的學習
- Unity基本組件的介紹
- Unity中UI系統的介紹
- Unity動畫的介紹
- Unity導航尋路網格
- Unity數據持久化
- 第四階段 了解基本的框架
- 基礎框架的學習
- Unity熱更新
- 第五階段 游戲項目實戰
- 總結
unity的學習路線
下面是我個人當前學習列表的簡介,僅供參考。
當你學完第三個階段的時候,就可以做一款屬于自己的小游戲了,請各位發揮大腦的想象力吧。
下面我們慢慢的介紹每個階段的基本信息吧
第一階段 什么是Unity?
要想學好一個東西,首先要對其有基本的了解,并且對其感興趣,我相信既然大家以及看到了這里,就代表大家對Unity有一些興趣,下面我們介紹以下Unity:
Unity3D是由Unity Technologies開發的一個能讓玩家輕松創建諸如三維游戲、虛擬現實、實時電 影與動畫、建筑可視化、數字教育、汽車/運輸與制造等眾多類型互動內容的多平臺的綜合型游戲開 發工具,是一款功能強大的專業游戲引擎。Unity類似于Director,Blender,Virtools或Torque Game Builder等利用交互的圖形化開發環境為首要方式的軟件。
小編是因為參加工作以后才接觸到的Unity,因為之前是一個初級Java程序,所以重新學習一個新的語言和軟件并不難。
下面簡單介紹以下用Unity開發的游戲吧:
網頁游戲:坦克英雄、QQ樂團、蒸汽之城、誅仙、皇牌海戰、絕代雙驕、Touch、縱橫無雙、星之 戰記、騎士的遠征(已停止運營)、萌戰記、推倒Online、格子RP、圖騰王、爭鋒OnLine、噴噴戰 (已停止運營)、魔偶給我沖、木乃伊OL(The Mummy Online)、魔晶星球、將神、天寵島等
客戶端游戲: Robocraft、 Bad Piggies
手機游戲:紀念碑谷(Monument Valley)使命召喚手游、擇天記、王者榮耀、失落帝國、爐石傳 說、神廟逃亡2、三國之殺場、王者之劍、彈珠冒險記、死亡扳機(DEAD TRIGGER)、對峙2 (Standoff 2)、公路戰士(Road Warrior)機器人大戰(Roboto)、絕命武裝(Bravo Force: Last Stand)、阿爾龍:劍影(Aralon:Sword and Shad)、街頭摔跤 ( Street Wrestler)、繆斯 (M.U.S.E.)、瘋狂的公牛(Bull Dozer)、等
單機游戲:奇異人生: 仙劍奇俠傳6、風暴前夕、巫師之昆特牌:王權的隕落、七日殺、俠隱閣、軒轅 劍六、御天降、凡人修仙傳單機版、深海迷航(美麗水世界)、卡車人生等。
用Unity開發的游戲數不勝數,市場上一半以上的游戲都是用Unity引擎開發的。
Unity還有一個極大的好處,Unity支持跨平臺,也就是說,用Unity開發的游戲和作品是支持很多的平臺的,Unity編輯器可運行在Windows、Mac OS X下,可發布游戲至Windows、Mac、Wii、iPhone、WebGL (需要HTML5)、Windows phone 8和Android平臺。也可以利用Unity web player插件發布網頁游戲,支持Mac和Windows的網頁瀏覽。它的網頁播放器也被Mac所支持。
再給大家介紹以下常見的幾種游戲類型:
第二階段 C#編程
上面的介紹讓我們對Unity引擎有了初步的了解,可是我們光靠著Unity引擎是不能開發游戲的,需要有我們的腳本的支持(不然要我們程序員干嘛)。所以,想要開發游戲之前,先要學會一門腳本編程語言。
- Unity 2017版本以后,官方推薦使用的腳本語言是C#。Unity的歷史版本中支持過UnityScript,不過使用的人比較少,之后就消失了
除了C#外,.Net平臺支持的語言(如:F#,C++)等,都可以編譯為通用的DLL庫。關于.Net的詳細討論的話,暫時超出了小編的腦容量范圍,請大家自行查詢。 - 所以學習C# 語言變為我們最重要也是最先的一步,網上有很多的C#的教程,當然,后續小編會持續更新C#的語言學習,各位可以跟隨小編的腳步。
第三階段 熟悉Unity引擎的基本功能
- 看完Unity的介紹后,相信大家對Unity也有了一定的了解,但是重中之重還是先學習C#腳本語言
- 先認識以下Unity的基本頁面
- 我們需要利用Unity來制作游戲,所以必須熟悉Unity的基本編輯環境
- 熟悉基本的工具欄和六個最基本的視圖
- 以及一些基本的設置
Unity資源文件的學習
這里我們主要了解Unity 的文件資源分類
- 每個文件夾的作用
- Unity需要基本運行的文件夾
- 特殊文件夾的作用
Unity基本組件的介紹
- 組件是Unity中最重要的一部分
- 每個游戲物體的身上都有很多不同的組件,正因為每個組件的功能不同,所以實現的效果各不相同
- Unity顯示的組成是項目-> 場景->游戲物體->組件->組件參數
- 組件和游戲物體相輔相成,游戲物體可以說是組件的載體
- 下圖包含了一些基本組件,一定要熟練使用Transfrom組件,Box Collider(盒子碰撞體),Mesh Filter(網格過濾器),Mesh Renderer(網格渲染器),Rigidbody(剛體)
- 值得注意的是,代碼腳本,也是一種組件
Unity中UI系統的介紹
- Unity包含了GUI,UGUI,NGUI(老版本才會用)
- 游戲需要UI頁面,用來顯示一些按鈕啊,圖片啊等。所以UI是一個完整游戲的必須品
- 我們主要學習Unity自帶的UGUI就足夠了
Unity動畫的介紹
正如大家看到的游戲人物一樣,每個人物都會攻擊,跑步,跳躍等,這些都是由Unity優秀的動畫系統來完成的。
- 動畫可以使人物更加炫酷
- Unity中現在有兩種動畫模式Animator和Animation
- 前者比較新,后者是比較老的項目才會使用了
Unity導航尋路網格
Unity為大家提供了自動尋路的功能Navigation,例如我們玩的頁游都有點擊任務自動尋路過去,Unity現在的尋路已經很強大了,只需要添加幾個組件并且調整幾個參數即可進行尋路
- 敵人自動尋找玩家
- 玩家自動尋找到任務地點
- 也有很多人會使用A*算法進行尋路,不過個人推薦使用Navigation就好,簡單易懂
Unity數據持久化
Unity中提供了一些數據持久化的方式,將我們的游戲數據保存在本地磁盤上,這樣在下一次再次使用時就可以直接讀取本地,而不是每次推出游戲或者刪除后臺所有的東西都會消失
- Unity自帶的PlayerPrefs類,適合一些輕量級數據
- JSON適合一些敵人的基本信息等
- CSV配置表可以使用Excel清楚的觀察表格參數
- XML可以讀取一些配置
第四階段 了解基本的框架
框架學習就屬于進階學習了,因為當你學好了前三個階段,就可以做游戲了
對于許多語言而言,有一個好的框架代碼可以重復利用多次,節省時間,而且方便后期的維護,Unity開發游戲也是如此:
- 一個框架可以使代碼干凈整潔,方便維護
- 最大程度的將一些基本操作重復利用
- 方便每個開發人員進行代碼的整合調用
基礎框架的學習
- 常用到的框架當屬UI框架了,一個UI框架可以重復利用UI,對性能的節省是很有必要的
- Unity非常火的框架GameFrameWork框架,小編也沒有學會,感興趣的童鞋可以自己上網查看
Unity熱更新
我們經常玩的很多游戲,就比如當下很火的王者榮耀,每一次賽季更新都會有很大的變化,這個時候大家通常都會到應用商店下載并重新安裝,可是每次新賽季更新開啟后,都或多或少會有一些Bug存在(一個完整的程序不可能沒有bug,是人都會犯錯)而這些問題,可能只需要更改一句代碼就可以解決,而不需要動用很大版本的更新,這個時候總不能再重新下載安裝吧,要是這樣的話,那每次下載安裝豈不是沒法玩游戲了,這個時候,熱更就顯得尤為重要。
- 熱更新就是指一些小幅度的更新,不需要重新下載安裝包,甚至不需要重新啟動游戲
- 使用熱更新需要使用一門新的語言Lua,Lua是一門輕量級語言,后面作者會介紹到的
- 有些游戲是單純用Lua做出來的,感興趣的同學去網上搜索一下
第五階段 游戲項目實戰
當所有準備工作都準備完畢后,我們就可以開始編寫自己的游戲了,大家可以去Unity官方的中文課堂:https://learn.u3d.cn/,那里有很多的課程教程,免費的付費的都有,如果需要資源的話可以去Unity官方商店下載:https://assetstore.unity.com/,作者后期還會更新一些自己做的小游戲,飛機大戰,塔防游戲,基礎的3D游戲等。
總結
這里我們簡單講解游戲開發中的角色和職責也可以說是小伙伴們學習Unity可以尋找的工作崗位:
1. 主策劃(游戲策劃主管):又稱為游戲策劃主管。游戲項目的整體策劃者,主要工作職責在于設計游 戲的整體概念以及日常工作中的管理和協調。同時負責指導策劃組以下的 成員進行游戲設計工作。
2. 系統策劃(游戲規則設計師):系統規則的編寫 -> 與程序設計者對接 -> 組隊、戰斗、幫會、師徒、好友系統等 -> 提供界面及界面操作、 邏輯判斷流程圖
3. 數值策劃(游戲平衡設計師):游戲平衡性-> 游戲數據打交道 ->戰斗公式
4. 關卡策劃(游戲關卡玩法):設計游戲關卡玩法,與劇情策劃相對接
5. 劇情策劃(游戲文案策劃):文字內容設計 -> 職業物品說明 -> 世界觀架構
1. 原畫設計師(3D美術部門):美術制作提供標準 和依據 ->依據策劃案創建角色或物體 -> 概念具體化和標準化 ->游戲世界物體設計
2. 角色設計師(創造栩栩如生的角色): 游戲中的活體 -> 人體組織結構
3. 場景設計師(傳達游戲內涵與文化):構建場景模型 -> 烘托游戲的氣氛
4. 游戲特效師(精美的效果):豐富的畫面表現想象力 -> 藝術感染力
5. UI設計師(平面基礎):游戲操作頁面 -> 技能標志 -> 登錄頁面 -> 游戲道具
1. 服務端:數據存儲,數據分發,數據同步
2. 客戶端:引擎開發即擴展,游戲效果,游戲邏輯
以上就是對一些Unity游戲行業的個人見解啦,還有一些學習路徑,后續小編會為大家更新C#的學習,歡迎大家搬凳子坐坐,最后和各位道個別,拜拜。
總結
以上是生活随笔為你收集整理的Unity开发之-Unity入门简介(近万字攻略)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 目标检测(后处理):从 NMS 到 So
- 下一篇: tensorRT在yolo上的使用