Unity3D入門筆記01

2021-10-09 17:59:20 字數 2573 閱讀 3754

摘要:本文用於記錄unity3d的基礎知識,主要包含unity簡介、unity的特點、unity工具的使用、unity重要的概念。

由 unity technologies 公司開發的用於輕鬆建立遊戲和三維互動內容的開發工具,是乙個國際領先的專業遊戲引擎。

什麼是遊戲引擎?

是程式的框架,一款遊戲最核心的**

遊戲引用包含以下常用的幾個系統:渲染引擎、物理引擎、碰撞檢測系統、音效、指令碼引擎、動畫系統、人工智慧、網路引擎、以及場景管理等內容

使用遊戲引擎,開發者可以重用已有的核心技術,將精力集中在遊戲邏輯和設計上,從而提高開發效率,優化遊戲質量。

unity 作為遊戲引擎,可開發2d或3d遊戲;

unity 提供了精簡直接的工作流程及強大的工具集,使得遊戲開發周期大幅度縮短;

unity編輯器可執行在windows、mac os、linux平台,最大的特點是一次開發就可以部署到時下所有主流遊戲平台,目前unity能夠支援發布的平台有23個以上,使用者無須進行二次開發和移植,就可將產品部署到相應平台,節省了開發時間和精力。

選單欄整合了 unity 的所有功能,通過選單欄的學習可以對 unity 各項功能有直觀而清晰的了解。unity預設共有7個選單項:

file

edit

assets

gameobject

component

window

help

file選單主要包含工程與場景的建立、儲存及輸出等功能。

edit編輯選單,主要用來實現場景內部相應編輯設定。

assest 資源選單,提供了針對遊戲資源管理的相關工具,通過 assets 選單的相關命令,使用者不僅可以在場景內部建立相應遊戲物件,還可以匯入和匯出所需要的資源包。

gameobject遊戲物件選單,主要用於建立遊戲物件、如:燈光、粒子、模型、ui等。

component元件選單,可以實現gameobject的特定屬性,本質上每個元件是乙個類的例項。在component選單中,unity為使用者提供了多種常用的元件資源。

場景中放什麼?

遊戲每個畫面中看到的東西(物件),都存放在場景中。比如:不同的角色,不同的靜物(山、水、樹、寶塔)等。

當場景發生切換時,將刪除其包含的所有遊戲物件,並在下乙個場景中生成新的遊戲物件。因此也可以把場景看作是乙個用於容納物件及子物件的箱子。

什麼是遊戲物件

顯示在場景中的每乙個物體,都稱為遊戲物件。

hierarchy 面板(檢視)中顯示了當前場景中包含的每乙個遊戲物件。每建立乙個新的場景,場景中預設就包含了兩個遊戲物件,乙個攝像機,乙個平行光,如下圖:

通過 gameobject 選單新增一些系統內建物件時,除常用的一些(如:立方體,球體等)之外,還有兩項內容:

create empty 、create empty child,分別表示的是空遊戲物件和空子遊戲物件。在專案編碼中,在時需要乙個基本的遊戲物件,作為多個子遊戲物件的父類,或需要乙個物件作為參考點或發射點,那麼可使用空的遊戲物件,空的遊戲物件可理解為不含任何功能擴充套件元件的"基本遊戲物件"。

為什麼要使用元件?

如何檢視遊戲物件上繫結了哪些元件?

選中hierarchy 面板中的某個遊戲物件,在視窗最右側的的inspector 層級面板列出了繫結到camera物件身上的所有元件,見下圖:

通常情況下,專案是由多個場景組成的。場景,則是由多個遊戲物件構建出來的畫面、而元件,是服務於遊戲物件的,可以為乙個遊戲物件繫結乙個或多個元件,實現更為完美的介面效果和程式功能。

Unity3D 指令碼入門

1 資料型別和基本運算 a 命名空間就像在檔案系統中乙個資料夾容納多個檔案一樣,可以看作某些類的乙個容器。通過把類放入命名空間可以把相關的類組織起來,並且可以避免命名衝突。命名空間既用作程式de 內部 組織系統,也用作 外部 組織系統。使用命名空間 using 2 整型 整數 8個名稱 sbyte ...

unity3d 指令碼入門

1 virtual和override a virtual 用在基類中,指定乙個虛方法 屬性 表示這個方法 屬性 可以重寫。b override 用在派生類中,表示對基類虛方法 屬性 的重寫。class test2 test public sealed override void show 執行的結果...

unity3d 指令碼入門

1 virtual和override a virtual 用在基類中,指定乙個虛方法 屬性 表示這個方法 屬性 可以重寫。b override 用在派生類中,表示對基類虛方法 屬性 的重寫。class test2 test public sealed override void show 執行的結果...