重要概念

介紹在UGC編輯器中存在的一些重要概念,並對這些重要概念進行一個詳細的解釋

實體和實例

實體是UGC中重要的概念之一,通常提到實體是指一個具體的實體實例,在表達上是邏輯實體的簡稱,比如某個玩家,某個觸發器。

一個實體是一類具象/抽象的概念或概念的集合。

實體具有屬性,對屬性的修改會影響該實體創建出來的實例。

實體的概念非常廣泛,本遊戲中絕大多數概念都是以實體形式存在的。

以“玩家”為例,“玩家”實體指的是玩家這個具象概念,生命值是玩家實體的屬性,某局遊戲中的特定玩家A和B是玩家實體的兩個實例。

玩家A和B都具有玩家實體的生命值屬性,不同的是,玩家A有150生命值,而玩家B有200生命值。

生命值是實體的屬性,150和200的生命值是實例的屬性。

除了玩家、載具、武器這種可以具象化的實體,還有一些不能直接具象化的抽象實體,比如全局、遊戲流程。

抽象實體也具有屬性,並且也會創建出實例。

比如游戲流程是一個抽象實體,準備階段時長是其的一個屬性,假設進行了兩次遊戲,每次遊戲都會創建一個遊戲流程的實例。

第一次遊戲準備階段時長為5秒,第二次遊戲準備階段時長為10秒。

5秒和10秒的準備階段時長是遊戲流程實體的實例屬性。

多數情況下,遊戲中提到的實體實際上指的是實體的實例,例如刪除實體、獲得實體的屬性、修改實體的屬性。

實際上操作的對像都是實體的實例。

在下文及其他文章中,無必要不再特殊強調實體實例和實體的區分。

實體的生命週期

如上文所說,實際上生命週期作用對像是實體的實例。

生命週期意味著實體從創建到銷毀,總是會經過特定的流程,您可以通過掌握需要編輯實體的生命週期,進而在特定的時點對實體進行操作,從而達到設計目的。

所有實體都以Awake作為生命的開始,以Destroy標誌著生命的結束。

絕大多數實體在Awake之後都會經過Enable激活,並在銷毀前使用Disable關閉激活。

也許會存在跳過enable或disable階段的實體,但是awake和destroy總是存在。

通用流程

image-20241014171853741

組件和屬性面板

在編輯器物品列表中的每一個物體,它們的屬性都是通過組成物體的組件來進行控制,例如,物體的位置組件,物體的外觀組件,物體的材質組件和物體的名稱組件

從功能角度來講,它就像是一個 “小工具”。

例如,在一個物體的外觀組件中,就是通過按鈕和材質選項來改變物體的外觀,通過重複使用這些組件我們就可以非常簡單且方便的改變某一個物體的屬性而避免重複的添加代碼。

image-20241113150847792

在CraftLand中,我們無法直接的進行組件的添加或修改,但是我們可以通過屬性面板來改變物體的部分組件的參數和選項

首先,我們可以創建一個物體,並且選中它,那麼我們就可以看到該物品的屬性面板

u200b image-20241113160229762

在屬性面板中,我們可以移動物體的位置,改變物體的大小,旋轉物體的角度,這些都是通過物體的‘Transform’組件進行的改變

再屬性面板中有6個選項,分別為:

image-20241106174706837

名稱 圖示 說明
屬性 image-20241106175250972 可以改變物體一些屬性設置
image-20241106181010058
移動 image-20241106175253495 可以移動物體坐標
image-20241106180814579
縮放 image-20241106175256698 可以修改物體縮放來改變物體的大小
image-20241106180832478
旋轉 image-20241106175300431 可以旋轉物體來改變物體的朝向
image-20241106180846336
刪除 image-20241106175303257 可以點擊刪除物體
image-20241106181055895
複製 image-20241106175306277 點擊後可以復制出多個相同的當前物體
image-20241106180928598

點擊【Properties】可以查看不同物體的可改變的組件屬性

此處以正方形物體作為演示,首先我們創建一個方塊,並且點擊【Properties】查看方塊屬性

SeaTalk_IMG_20241113_171445

在Properties中我們可以發現,根據方塊所持有的組件我們可以改變方塊的外觀和材質,我們可以嘗試著去修改一下

示例:

通過改變物體的材質和大小,我們可以使用不同的多邊形搭建出非常多的組合物品

例如,在這裡我們使用了多個圓形和圓柱形搭建出了一個噴泉

SeaTalk_IMG_20241113_174525