前言
Unity官方手冊:https://docs.unity3d.com/cn/current/Manual/UnityManual.html
本系列文章是關於unity在遊戲開發方向上的教程,服務於對unity一無所知的新人或稍有所知的學習者,因為其本質上是一個針對新人的導航。閱讀本系列文章,要求讀者有一定的編程基礎和英語基礎,至少要有一定C#語法基礎。
本系列文章參考的是unity官方的用戶手冊,系列中給出的範例代碼適用於2018.7.f1版本。在閱讀本系列文章的過程中,請讀者多多參考用戶手冊。畢竟本教程是新手向的,有很多地方必然不會涉獵,而(在此基礎上)要想完全掌握unity,參考手冊是必然的。同時,我會在講解特定部分的時候給出其在用戶手冊的位置URL以供讀者參考,希望讀者能夠善加利用,達到事半功倍的效果。
Ps:本教程使用的是未經漢化的Unity軟件,也希望讀者不要圖一時看着方便去安裝漢化版(官方漢化在19年之後的版本支持),有些名詞還是記着英文的方便。
正式使用Unity之前
在使用unity之前,讀者也許需要知道下面的知識:
1 Unity的定義
現在提到unity,大部分人的第一印象都是:「unity是一個遊戲引擎」。這句話對也不對。Unity是一個用於創建2/3D、AR等內容的工具/引擎(請注意是內容而不是遊戲,unity在建築、動畫等領域也有廣泛的用途),但是目前其最出眾的是在遊戲創建上的表現,所以才會讓人產生「unity是遊戲引擎」的錯覺。
在官網的說明中(https://unity.cn/projects/about-unity),描述unity為創作引擎、開發工具。其支持維度為2/3D、AR、MR、VR,開發語言為C#。另外,使用unity製作的程序可以被編譯到各種平台上使用,由於unity引擎的靈活性,這些程序也將擁有良好的可移植性。
2 Unity的安裝與登錄
比起大多數專業軟件,unity在中國化的道路上先進了太多太多,甚至到了讓人欽佩的地步。Unity有專門的中國官網和中文社區(即unity.cn,英文官網為unity.com),還有中文版本的文檔。
Unity本體可以直接在中文官網下載,需要注意的是,在安裝unity之前可以先安裝一個Unity Hub,hub可以用於管理電腦中不同版本的unity editor。
使用unity需要一個賬戶,以及一個授權版本。由於目前unity已經支持了微信登陸,我們可以直接使用微信掃碼登陸,免去另行註冊帳號的繁瑣。unity的授權分為personal、plus、pro、enterprise四種,其區別見https://store.unity.cn/compare-plans。作為學習者,推薦讀者使用personal授權,它能夠體驗大多數內容,並且是免費的。
Unity基本名詞概念
-本節相關內容請讀者參考:
-https://docs.unity.cn/cn/current/Manual/Glossary.html,《術語表》
在使用unity之前最先要理解通順的就是unity中的名詞概念,這是最基礎也是最根本的內容。讀懂unity中的特殊名詞,才能進一步理解unity引擎的運作模式和它帶給使用者的開發方式。
作為一個粗淺的教程,我只向讀者們用我自己的理解去解釋下面三個名詞(默認在遊戲開發中)。
1 遊戲對象
遊戲對象可以說是整個unity遊戲世界裏最基礎的成員,攝像機、精靈、地圖、燈光等所有出現在場景中的對象都是遊戲對象。如果要做個類比,可以將空遊戲對象比作Ruby中的Class類(unity中空對象自帶一個組件transform),將各種不同的遊戲對象(精靈等)比作Class的派生類。
2 組件
在遊戲對象的名詞解釋中,我們把遊戲對象比作編程語言中的類。從這個類比出發,組件則對應着編程語言中的屬性/方法,它被附加到遊戲對象上,依附遊戲對象表現,遊戲對象可以看做是組件的容器。遊戲對象的功能由附加到遊戲對象的組件來定義。組件給了遊戲對象不同的功能,從而使各個遊戲對象表現出期望表現的形式,令遊戲得以成功運行。不同的遊戲對象間之所以不同,是因為他們有不同的屬性(組件)。
所有的遊戲對象都可以看做一個空遊戲對象+組件。例如創建新項目之後預設場景里的主攝像機(下圖),它就是由一個空遊戲對象+組件camera構成。

3 場景
場景是一個.unity文件,由unity本身創建。在遊戲中的所有遊戲對象都將被放置在某個場景內。一個遊戲可以有多個場景。讀者可以將場景想像成遊戲對象的「舞台」或者說是「容器」,再具象一點可以是RPG游戲裏的關卡地圖。
Unity手冊中指出,場景「實際上就是以碎片化的方式設計和構建遊戲」。
Unity界面
-本節相關內容請讀者參考:
-https://docs.unity.cn/cn/current/Manual/GettingStarted.html,《首次啟動unity》
-https://docs.unity.cn/cn/current/Manual/ProjectTemplates.html,《項目模板》
-https://docs.unity.cn/cn/current/Manual/LearningtheInterface.html,《了解界面》
– https://docs.unity.cn/cn/current/Manual/UsingTheEditor.html,《主要窗口》
1.1 項目界面
在安裝登錄完畢之後,我們終於能夠打開unity了。與IDEA等軟件一樣,unity在進入主界面之前還有一個項目選擇的界面。這個界面十分簡單,因此我們略過此界面的講解。又由於我們是第一次使用unity,為了進入主界面需要新建一個項目。新建項目界面如下:

其中兩個需要講解的部分為unity analytics與template。
Unity analytics是一個對unity遊戲進行分析的數據平台,開發者可以使用其查看遊戲玩家的身份等信息。
Template是創建unity項目時採用的模板,簡單地來說,它的五個選項從上到下可以視為:標準2D模板、標準3D模板、含有渲染器和後期處理的3D模板、為高端平台設置的高清模板(配置要求高)、性能優先的輕量模板(高優化)、性能優先的輕量VR模板。
在本教程中,我們使用標準的2D/3D模板預設。
隨意選擇一個模板,創建項目,就可以進入unity的主界面。unity主界面的大致情況如下(我調整過了,跟初始布局可能會有出入,不過不是大問題):

我們把unity的界面除去菜單欄分為五個部分,如上圖紅框所示,並一一講解。
2.1 主界面-場景視圖(Scene)、動畫(Animator)與控制台(Console)
即上圖中1部分(下略)。
可以看到本部分包含了三個選項卡場景(scene)、animator和console。
Scene顧名思義就是場景選項卡,是遊戲中場景的查看器。在unity中,無論預設是2D還是3D,遊戲場景都是3D的。這就導致unity場景的操控要較一般2D場景更為複雜一些。沒有3D建模經驗的讀者可能對unity場景的操控感到陌生(下圖為場景工具欄),如果讀者對這些內容有興趣,可以學習3D建模相關的內容。如果讀者只想要達到基礎操控的目的,可以直接在場景中添加一個正方體(Hierarchy->3D object->Cube),然後依次點擊按鈕切換狀態並嘗試移動物體,用實踐的方式快速學習。

Animator即是動畫控制器。它用於讀取和修改遊戲對象的動畫組件animator。
Console是控制台,其用途與IDE中控制台的功能基本一致,在調試中顯示警告和錯誤。我們也可以在代碼中使用Console.log來在控制台顯示信息。
2.2 主界面-遊戲視圖(Game)、動畫時間軸(Animation)
本部分包含兩個選項卡game與animation。
Game顯示的是遊戲測試中的畫面,其與遊戲正式發佈後運行遊戲看到的畫面相同。要進行和暫停遊戲測試,點擊下圖所示的按鈕:

Animation用於編輯組件animation,看起來像是一個時間軸。
2.3 主界面-層次(Hierarchy)
本部分包含選項卡hierarchy。
Hierarchy就是常規的層次視圖,顯示了項目中的所有場景及其下的所有遊戲對象。通過層次視圖可以簡單清晰地觀察到場景中遊戲對象間的層次關係。
2.4 主界面-項目(Project)
本部分包含選項卡project。
Project選項卡包含了左右兩部分,左邊顯示的是文件夾,右邊顯示的是當前選中文件夾下的內容(包括文件和文件夾,也就是說這是一個小型的項目文件資源管理器)。同時,我們可以在選項卡上方的搜索欄里搜索項目資源,也可以搜索unity assent store中的資源。
在選項卡文件夾顯示的最上方有一個標籤favorites,它用於存儲一些特殊的搜索結果(可以說是一種索引嗎)。在搜索欄中搜索一個關鍵詞,然後在右上角點擊星標,就可以將搜索結果加入favorites標籤。

2.5 主界面-檢查(Inspector)
本部分包含選項卡inspector。
Inspector選項卡用於顯示和編輯遊戲對象和其他項(比如說項目整體設置和遊戲資源)的詳細狀況,在顯示遊戲對象時,其顯示遊戲對象安裝的組件以及其屬性。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/222298.html
微信掃一掃
支付寶掃一掃