1. 程式人生 > >Unity學習過程(二)——建立第一個工程

Unity學習過程(二)——建立第一個工程

1.首先開啟unity,我這裡的是unity5.2.3f1版本。不過基本功能介面,unity5都是一樣的~ 2.然後在開啟的的unity程式中選擇new,這裡面有供3D與2D開發的選擇~還可以匯入標準包下的資源。預設unity5的標準包不在安裝包裡(換句話說就是unity5.x安裝包不像unity4.x預設內建有標準資源包~需要自己去官網下載。下載網址http://unity3d.com/cn/get-unity/download/archive)。 3.確定之後進入unity主程式。 4.主程式中,它預設佈局並不好,它把Game與Scene合併,然而很多時候例如開發UI設計的時候,需要修改一點東西,Game視窗就可以立刻顯示出來。但如果兩個視窗合併了,那就不能夠很好的解決這一點。當然,對於新手初學者來說,一開始可以先忽略這一點。隨著日後的學習,可以慢慢地改變。 以下是我初步學習的unity主程式介面 5.上面的介面中,Scene是場景,Game是執行視窗,最右邊的Inspector是面板屬性,作為顯示各個物件屬性的作用。右上角的三個。第一個要登陸,我沒用過;第二個Layers是顯示屬性。作用是顯示Scene的物體層次。很多初學者會出現這樣的一個問題:在場景中添加了一個立方體,卻只顯示線性框架,而不是一個實體,這裡面的問題就是Layers裡面的設定問題,可能是不小心選擇了Nothing。Hierarchy則是場景裡面羅列的Object(可以是物體,也可以是指令碼).說到這裡,unity的世界主要由Object構成,這是屬於它的一個特色。Project裡面是本地磁碟所存的資源(包括遊戲模型,音樂,圖片素材等等)。這裡跟Hierarchy是不一樣的。場景作為一個檔案或者一組檔案儲存在工程裡面,而能對它修改的就只有在unity裡面的Scene和Hierarchy。而Project裡面的東西則是作為匯入場景的資源。需要注意的是,匯入之後,Project裡的資源不能刪除,否則場景裡的就是為空。
6.一個新的場景自帶有一個主攝像頭和一個平行光。攝像頭,正如其名,是一個遊戲的眼睛。它是遊戲內容與人眼之間“溝通”的唯一途徑。攝像機照向哪,那一塊就能顯示在Game視窗中,供我們肉眼識別。平行光源,不用說,就相當於我們現實世界中的太陽光~還有很多光源選擇例如點光源等等。 7.好,我們隨便建立一個立方體,然後讓攝像機對準該立方體。(這裡有個方便的用法:先點選攝像機,然後把視角對準到自己需要的位置,然後在選單欄GameObject->Align With View,然後就能把攝像機對準好來),如下圖 現在已經可以初步看出Game視窗與Scene視窗分開來的優點了。把物體放在攝像機範圍內,下面的Game視窗不需要執行就可以顯示。 8.我們來建立一個指令碼,控制立方體變顏色。(指令碼就是遊戲的互動與邏輯的核心)這裡用的是C#語言。 程式碼: 
public GameObject gameobject;//宣告一個物體物件
 void Update () {
  if (Input.GetKeyDown(KeyCode.Mouse0)) {
   gameobject.GetComponent<Renderer>().material.color=Color.red;//改變該物體的顏色為紅色
  }
 }
然後把程式碼檔案拖到攝像機上面,與攝像機繫結。然後在攝像機面板屬性裡面找到繫結後的指令碼,裡面有一個空的GameObject物件,把立方體拖到這裡,就可以完成賦值操作。最後直接執行即可 上述程式碼很簡單,就是滑鼠點選,立方體變紅色。 至於程式碼部分,unity5.x與unity4.x有區別。上述的程式碼中適合unity5.x,不適合unity4.x。unity4.x的第四行程式碼應該是這樣的:gameobject.Renderer.material.color=Color.red;(好久沒用了,不知道對不對) 還有一點,那就是unity的指令碼語言用哪個? js與c#,js更偏向於小眾化,語言並不是太規範,但是它比較容易懂,而且可以比較隨意。但是涉及到大型專案時候,就會導致各種不方便,例如後期維護程式碼成本高,程式碼多了很亂等等。所以現在很多的遊戲工作室或者公司都偏向於使用C#,而Js更多的是個人遊戲開發使用。如果要我推薦選哪個指令碼,我建議選擇c#。它比較規範,而且現在使用的人數多,教程也更多。 好了,今天的筆記到此位置,如果有不完善或者有錯誤的地方,歡迎指正與修改。相互改善,相互進步才是目的。