1. 程式人生 > >【Unity入門】場景、遊戲物體和元件的概念

【Unity入門】場景、遊戲物體和元件的概念

遊戲和電影一樣,是通過每一個鏡頭的串聯來實現的,而這樣的鏡頭我們稱之為“場景”。一個遊戲一般包含一個到多個場景,這些場景裡面實現了不同的功能,把它們組合起來就變成一個完整的遊戲了。
在電影裡面,每個鏡頭會包含佈景,然後還會有演員在表演,攝像機將表演的畫面記錄下來,然後就變成了電影。同樣的,在Unity遊戲裡面也同樣存在相機,它的作用也是將遊戲的畫面展示在遊戲裝置的顯示屏上面。所不同的是,Unity遊戲裡面,不論是佈景還是人物,所有的東西我們都稱之為“GameObject”遊戲物件(2D遊戲一般稱之為“精靈”)。所以遊戲場景是由遊戲物件組成的,一個場景就相當於是一個獨立的世界,我們可以簡單的把遊戲場景理解成是遊戲物件的一個容器。
遊戲物件


Unity的Hierarchy面板上顯示的就是場景當前擁有的遊戲物件,當遊戲處於執行狀態,Hierarchy面板上面的物件也會跟著遊戲在實時地重新整理。一個新建的遊戲場景裡面會預設新增一個Main Camera(主相機)物件和一個Directional Light(方向光源)物件。主相機負責將遊戲場景投影到螢幕,方向光源負責照亮整個場景。當我們將方向光源從場景裡面刪除後,由於場景裡面沒有光源,遊戲執行後螢幕上只能看到一個很暗的畫面。而如果我們將主相機物件從場景裡面移除的話,遊戲執行時我們將無法看到任何遊戲畫面。
在電影裡面,角色會有各種資訊,比如角色的身份標籤、性格,甚至他的職能。同樣的,我們的遊戲物件也同樣可以擁有各種資訊,而這些資訊都是以“元件”(Component)的方式存在的。遊戲物件是由一個到多個元件組成的,我們可以將元件看成是組成一臺機器的零部件。Unity遊戲是通過元件的方式進行開發的,所以想要操作遊戲物件也都是通過操作對應的元件物件。
遊戲物件的基本元件Transform

在Hierarchy面板上面或者Scene檢視中隨便選擇一個遊戲物件,然後我們就可以在Inspector面板上面看到對應的元件資訊。一般,遊戲物體都至少會擁有一個名為“Transform”的元件。它是遊戲物體的基本元件,裡面包含遊戲物體在場景中的基本屬性資訊。
Transform有三個重要的屬性組成,分別是:“position”、“rotation”和“scale”。
position包含的是遊戲物件在場景中的位置資訊,其資料型別是“Vector3”(三維向量),由x、y和z三個座標分量組成。
rotation表示的是遊戲物體在場景中的旋轉角度資訊,其資料型別是“Quaternion”(四元數),Quaternion.Euler(x, y, z)方法可以將x、y和z三個軸上面的旋轉角度分量轉換成一個尤拉角(Euler),並返回一個Quaternion物件。所以我們可以看到Transform的Rotation屬性同樣包含x、y和z三個值。
scale表示的是遊戲物體在場景裡面的縮放比例,預設為1。同樣,它也分x、y和z三個分量,所以它的值同樣是使用Vector3型別來表示。
在Inspector面板上面新增元件

當我們需要給遊戲物體新增新的元件的時候,我們可以簡單的點選Inspector面板最後一個元件下方的“Add Component”按鈕來新增。在按鈕下面會出現一個元件選擇面板,該面板頂部會有一個搜尋框,可以直接輸入元件名稱進行檢索。下面的備選列表裡面列舉了Unity內建的元件,我們也可以通過它們的分類來查詢想要的元件。
以下是元件的分類:
(1)、Mesh:網格元件。
(2)、Effects:效果元件。
(3)、Physics:物理元件。
(4)、Physics 2D:2D物理元件。
(5)、Navigation:導航元件。
(6)、Audio:音訊元件。
(7)、Rendering:渲染元件。
(8)、Layout:佈局元件。
(9)、Miscellaneous:其它元件。
(10)、Event:事件元件。
(11)、UI:UI元素元件。
(12)、Scripts:已建立的指令碼元件。
(13)、New Script:新建一個指令碼元件。
每個分類下面基本都包含了多個元件。