包含2節(jié)視頻教程
關注3.4萬次
mari是目前為之最棒的3d材質繪畫軟件,他支持多個繪畫通道,實時顯示法線置換貼圖,快速有效的繪畫速度,是我們選擇他的原因。
本頁面的目的是介紹當應用 虛幻引擎 4 時遇到的常用術語。比如,如果您發(fā)現(xiàn)自己會問像 “什么是 Actor”、“什么是 組件”、“什么是 Pawn”這樣的問題, 那么本頁面便突出介紹了并提供了關于這些類型問題的描述。一旦您理解了每個術語的意思,下面的鏈接提供了更多文檔及如何使用它們的指南。
項目(Project) 是保存所有組成單獨游戲并與您硬盤上的一組目錄設置相一致的所有內容和代碼的自包含單位。 舉例來說,下圖中, 內容瀏覽器 的層次結構樹中包含與您硬盤中的項目文件夾內相同的目錄結構。
盡管項目經(jīng)常是由與其關聯(lián)的 .uproject 文件所引用,它們是互存的兩個單獨文件。 .uproject 是用于創(chuàng)建、打開或保存文件的參考文件,Project(項目)中包含了所有與其關聯(lián)的文件和文件夾。
您可以創(chuàng)建任意數(shù)量的不同項目,您可以并行地保存并開發(fā)它們。 引擎(和編輯器)可以方便地在其中切換,它們可以讓您同時開發(fā)多個游戲,或除了主要游戲項目外,具有多個測試項目。
在虛幻引擎中,最基礎的建造單元叫做 Object,對于制作游戲內容來說,它包含了很多必要的 背后的 功能。虛幻引擎 4 中幾乎所有的東西都是繼承于 Object。在 C++ 中,UObject 是所有類的基類,實現(xiàn)了諸如垃圾回收、開放變量給編輯器的元數(shù)據(jù)(UProperty),以及存盤和讀盤時的序列化功能。
class(類) 是一組行為、屬性或其他元素(比如函數(shù)和事件)的集合,在創(chuàng)建虛幻引擎游戲時要使用特殊的元素。類是以層次化結構呈現(xiàn)的;一個類繼承其父類(它所繼承的類)并將信息傳給其子類。類既可以使用C++中代碼創(chuàng)建,也可以使用藍圖創(chuàng)建。
Actor 是可以放置在關卡中的任意對象。Actor 是支持三維變換的通用類,比如如平移,旋轉和縮放變換。 Actor 可以通過游戲代碼(C++或藍圖)來創(chuàng)建(Spawn)及銷毀。在 C++ 中,AActor 是所有 Actor 的基類。
引擎中有多種不同類型的 Actor,比如:StaticMeshActor(靜態(tài)網(wǎng)格物體)、CameraActor(攝像機)及 PlayerStartActor(玩家起始點)。
組件 是一種特殊類型的對象,用作為 Actor 中的一個子對象。組件一般用于需要簡單地切換的部件的地方,以便改變具有該組件的 Actor 的某個特定方面的行為或功能。比如,一輛汽車的控制機及運動和飛機是有很大差別的,而飛機的控制和運動又和船有很大區(qū)別,以此類推;然而,所有這些都是交通工具,它們存在一些共性。通過使用一個組件來處理這些控制及運動,可以很輕松地使得同一交通工具的行為變得像任何一種特定類型的交通工具。
Pawn 是Actor的子類,可作為游戲中的化身或人物,例如游戲中的角色。 Pawn可以由玩家控制或由游戲的AI控制,比如非玩家控制角色(NPCs)。
當Pawn由人類玩家或AI玩家控制,它被視為 被支配 。 相反地,當Pawn不由人類玩家或AI玩家控制,它被視為 不受支配 。
Character(角色) 是Pawn Actor的子類,用作為玩家角色。Character子類包括碰撞設置、兩足動物運動的輸入綁定、及由玩家控制的運動的額外代碼。
**PlayerController**類被用于獲得玩家輸入并將其轉化為游戲中的互動,并且每個游戲至少有1個玩家控制器。 PlayerController(玩家控制器)常常支配著游戲中代表玩家的Pawn或角色。
PlayerController(玩家控制器)也是多人游戲中的主要網(wǎng)絡交互點。 在多人游戲中,服務器具有游戲中每個玩家的玩家控制器的一個實例,因為它必須能對每個玩家進行網(wǎng)絡函數(shù)調用。 每個客戶端僅具有與其玩家相符的玩家控制器,并且僅能使用其玩家控制器來與服務器溝通。
正如 PlayerController 控制一個 Pawn 讓其代表游戲中的玩家一樣,AIController 則控制一個 Pawn 讓其代表游戲中的非玩家角色(NPC)。 默認情況下,Pawn 和 Character 都將由 AIController 這個基類控制,或者人為為它們指定一個 PlayerController 控制,又或者為其自身創(chuàng)建一個特定的 AIController 子類。
brush (畫刷)是用來定義BSP關卡幾何體和游戲體積的3D體積。 另外,它也表示您可以用來對表面或場景涂畫不同的值(比如顏色)的一種用戶接口設備。
level (關卡)是定義的游戲區(qū)域。 也被稱為地圖。 我們主要通過放置、變換及編輯Actor的屬性來創(chuàng)建、查看及修改關卡。 在虛幻編輯器中,每個關卡都被保存為單獨的.umap文件,它與項目文件 (.uproject)不同。
一個 World(世界) 包含了所加載的一系列關卡。它處理關卡的動態(tài)載入及動態(tài)Actor的生成(創(chuàng)建)。
盡管沒有必要直接同世界交互,但它確實在游戲中幫助提供了一個特定的引用點。也就是,當提到“世界”時,意味著您說的不是關卡、地圖或游戲)。
GameMode 類負責設置正在運行的游戲的規(guī)則。這些規(guī)則包括了玩家如何加入游戲、游戲是否可以暫停、關卡轉變及任何游戲特定行為,如勝利條件等。
您可以在 Project Settings(項目設置) 中設置默認游戲模式,但您可以基于每個關卡覆蓋該設置。無論您選擇如何實現(xiàn)游戲模式,每個關卡中將總是僅存在一種游戲模式。在多玩家游戲中,游戲模式僅存在于服務器上,各種規(guī)則會被復制(發(fā)送)到每個連接的客戶端上。
GameState(游戲狀態(tài)) 包含了在游戲中您想復制到每個客戶端的信息,或者更簡單地講,它就是每個連接到該游戲的人的“游戲狀態(tài)”。
它通常包括的信息有游戲分數(shù)、比賽是否開始、根據(jù)世界中玩家數(shù)量要生成多少個AI及其他游戲相關的信息。
對于多玩家游戲,每個玩家的機器上都有一個GameState的實例,其中服務器的實例(或者客戶端從其獲取更新的實例)是最權威的。
PlayerState 是游戲中的一個參與者的狀態(tài),比如人類玩家或者模擬人類玩家的機器人。 作為游戲世界一部分存在的非人類玩家AI沒有PlayerState。
PlayerState(玩家狀態(tài))中出現(xiàn)的恰當?shù)氖纠龜?shù)據(jù)包括玩家名稱或分數(shù)、其當前關卡或生命值、或者其當前是否在Capture the Flag(奪旗)游戲中攜帶旗幟。
對多人游戲來說,所有玩家的玩家狀態(tài)存在于所有電腦上(這點和PlayerController玩家控制器不同),并且可以從服務器復制數(shù)據(jù)到客戶端以保持其同步。
朱峰社區(qū)網(wǎng)頁版(手機掃描-分享-添加到屏幕)
朱峰社區(qū)微信公眾號(微信掃一掃-關注)
未知用戶
2005-2025 朱峰社區(qū) 版權所有 遼ICP備2021001865號-1
2005-2025 ZhuFeng Community All Rights Reserved
VIP