Unity3D開發入門教程(三)——初識Unity


五邑隱俠,本名關健昌,12年游戲生涯。 本教程以 Unity 3D + VS Code + C# + xlua 為例。

 

一、Unity編輯器面板介紹

在Unity開發中,一般我們只在Assets目錄添加資源進行游戲制作,其他目錄可以暫時不關心。

 

打開Unity,可以在 Project 面板操作該目錄下的文件

 

新創建的項目里,Assets目錄除了從xlua拷貝過來的 Xlua、Plugins目錄,還有一個 Scenes目錄,用於存放場景文件

 

在Unity里把項目自動生成的場景 SampleScene 改成 Launch,這是我們的第一個場景——啟動場景

 

在Unity里雙擊該場景開始編輯

 

一般地, 編輯資源的操作流程為:

1、在Project面板選擇要編輯的資源

2、在Hierarchy面板,展開該資源,找到要編輯的GameObject

3、在Scene面板預覽該資源,也可以在Scene面板選擇、調整該資源下的GameObject的位置

4、在Inspector面板設置選中的GameObject的組件屬性

例外情況:如果Project面板選中的是圖片,則可以直接在Inspector面板設置對應圖片的屬性

 

二、GameObject和組件

1、在Unity里,場景由GameObject組成。游戲運行時,加載場景,會創建場景中的GameObject,渲染可顯示的GameObject。

2、在Project面板雙擊Launch場景,在Hierarchy面板可以看到有一個GameObject:Main Camera

3、在Hierarchy面板選中Main Camera,Inspector面板顯示對應的組件

4、可以理解為,GameObject是個可隨便組合的容器,這個容器有什么功能、渲染效果,由它的組件來決定

5、Main Camera有 Transform、Camera、Audio Listener三個組件

6、可以將Camera組件的 Background設置為黑色,Target Display 為Display 1

 

Display 1是在Game面板中設定的預覽窗口,一般運行預覽的時候會自動從Scene面板切換到Game面板,也可以手動切換

 

7、在Inspector面板下方,點擊 Add Component 按鈕,可以為Main Camera添加新的組件,例如選擇 Scripts,在子菜單選擇C#腳本添加自定義的組件

 

三、C#腳本

1、在Project面板,選擇Assets文件夾,鼠標右鍵 -> Create -> Folder,新建一個文件夾,命名為Scripts用於存放C#腳本

2、選擇 Scripts文件夾,鼠標右鍵 -> Create -> C# Script,新建一個C#腳本,命名為 Launch,作為啟動腳本

3、C#腳本是Unity比較流行的開發語言,對於繼承於UnityEngine.MonoBehaviour的子類,在Unity編輯器可以作為組件添加到GameObject中(運行時創建GameObject,會以Inspector面板設置的數據做模板實例該組件對象並添加到GameObject)

3、C#是微軟公司發布的一種由C和C++衍生出來的面向對象的編程語言、運行於.NET Framework和.NET Core(完全開源,跨平台)之上的高級程序設計語言。

4、如果沒有使用過C#,可以看下 菜鳥教程

5、可以使用VSCode打開Launch腳本(Launch.cs),Unity自動生成了一些代碼。

 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using UnityEngine;
 4 
 5 public class Launch : MonoBehaviour
 6 {
 7     public Button startButton;
 8 
 9     // Start is called before the first frame update
10     void Start()
11     {
12 
13     }
14 
15     // Update is called once per frame
16     void Update()
17     {
18         
19     }
20 }

 

7、組件基類為Component,但用戶自定義的腳本都繼承自MonoBehaviour(Component的子類)

8、組件有幾個關鍵的生命周期:

1)Awake:只調用一次,在組件整個生命周期開始時調用,組件一般不建議寫構造方法,需要提前初始的數據,可以在Awake初始化

2)Start:第一次Enable時調用,整個生命周期只調用一次,可以在這里做一些啟動處理,例如添加監聽、啟動定時器等

3)Update:每幀調用一次,可以添加每幀都處理的邏輯

4)OnDestroy,組件銷毀時調用,可以通過GameObject.Destroy()觸發

 

9、public 屬性可以暴露給 Unity編輯器進行設置,例如第7行 public Button startButton;

10、可以在 Unity編輯器 綁定該 public 屬性到哪個按鈕,腳本里就可以通過 startButton 字段操作該按鈕

11、作為啟動腳本,我們希望它比其他腳本優先執行。在Project面板選擇Scripts文件夾,選中Launch腳本,在Inspector面板右上方,點擊 Execution Order 按鈕

 

12、添加Launch腳本,並調整其順序在 Default Time 之前

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM