前言
大家好,我是一個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#的學習,歡迎大家搬凳子坐坐,最後和各位道個别,拜拜。