03-虛幻引擎藍圖類的各父類作用講解

虛幻引擎(Unreal Engine)的藍圖系統提供了多種父類,每種父類都有其特定的用途和生命周期。理解這些父類的作用,是高效使用藍圖開發游戲的基礎。以下是虛幻引擎中常見藍圖父類的詳細講解:
在這里插入圖片描述


1. Actor

  • 作用:所有可以放入關卡(Level)中的對象的基類,包括靜態網格、燈光、攝像機等。
  • 特點
    • 可放置:可直接從內容瀏覽器拖拽到關卡中。
    • 生命周期:由關卡管理,隨關卡的加載/卸載而創建/銷毀。
    • 組件化:通過添加組件(如StaticMeshComponentCameraComponent)實現功能。
  • 常見用途:場景中的門、開關、可破壞物體、NPC等。

2. Pawn

  • 作用:所有可控制的實體的基類(包括玩家和AI),代表“棋子”。
  • 特點
    • 可被Controller控制:通過PossessUnpossessPlayerControllerAIController綁定。
    • 物理交互:支持移動組件(如FloatingMovementComponentCharacterMovementComponent)。
  • 常見用途:車輛、飛行單位、自定義AI角色(非人形)。

3. Character

  • 作用:人形角色的專用類,繼承自Pawn,內置角色移動組件(CharacterMovementComponent)
  • 特點
    • 人形移動:支持行走、跳躍、游泳、攀爬等復雜移動模式。
    • 碰撞膠囊體:默認帶有CapsuleComponentSkeletalMeshComponent
    • 網絡同步:優化了多人游戲的移動同步。
  • 常見用途:玩家角色、NPC敵人、隊友等。

4. PlayerController

  • 作用玩家輸入與Pawn之間的橋梁,處理玩家的輸入、UI交互和相機管理。
  • 特點
    • 控制Pawn:通過Possess控制一個PawnCharacter
    • 輸入響應:接收鍵盤、鼠標、手柄輸入并轉發給控制的Pawn。
    • UI交互:管理HUD和UMG用戶界面。
  • 常見用途:玩家的“靈魂”,即使角色死亡,PlayerController依然存在(可重生角色)。

5. AIController

  • 作用:AI的“大腦”,控制AI行為(如尋路、決策)。
  • 特點
    • 行為樹:通過Behavior TreeBlackboard實現復雜AI邏輯。
    • 感知系統:支持視覺、聽覺等AI感知(AI Perception Component)。
  • 常見用途:敵人AI、NPC、寵物等。

6. GameMode

  • 作用定義游戲規則(如勝利條件、角色生成、關卡切換)。
  • 特點
    • 服務器權威:僅在服務器存在(多人游戲中客戶端無GameMode)。
    • 全局管理:控制玩家出生點(PlayerStart)、角色生成類(Default Pawn Class)。
  • 常見用途:射擊游戲的團隊規則、大逃殺的縮圈機制、RPG的任務系統。

7. GameState

  • 作用同步游戲狀態給所有客戶端(如得分、時間、玩家列表)。
  • 特點
    • 網絡同步:自動復制數據到所有連接的客戶端。
    • 全局訪問:通過GetGameState在任何地方獲取。
  • 常見用途:多人游戲的實時分數、比賽剩余時間、玩家狀態列表。

8. PlayerState

  • 作用單個玩家的狀態數據,與PlayerController關聯。
  • 特點
    • 網絡同步:如玩家名稱、得分、Ping值。
    • 持久存在:即使角色死亡,PlayerState仍保留(直到玩家離開游戲)。
  • 常見用途:排行榜、玩家擊殺數、自定義玩家屬性。

9. HUD & UserWidget

  • HUD(已過時)
    • 舊版2D界面系統,現已被UMG(UserWidget)取代。
  • UserWidget(UMG)
    • 作用:創建UI元素(按鈕、血條、菜單)。
    • 特點:支持藍圖可視化設計,可綁定到PlayerController
    • 常見用途:游戲主菜單、背包界面、技能冷卻顯示。

10. GameInstance

  • 作用跨關卡的全局管理器,生命周期貫穿整個游戲會話。
  • 特點
    • 持久存在:從游戲啟動到退出始終存在。
    • 跨關卡數據:保存全局設置、玩家檔案、DLC管理。
  • 常見用途:語言設置、成就系統、在線會話管理。

11. Level Blueprint

  • 作用關卡的專屬藍圖,直接操作關卡中的Actor和事件。
  • 特點
    • 關卡獨有:每個關卡(Level)有一個獨立的Level Blueprint。
    • 事件驅動:處理關卡特定事件(如關卡加載、觸發器激活)。
  • 常見用途:過場動畫、關卡切換邏輯、Boss戰觸發。

12. Subsystem

  • 作用輕量級全局管理器,按模塊自動生命周期管理。
  • 特點
    • 無需手動創建:通過UGameInstanceSubsystemUEditorSubsystem等自動實例化。
    • 模塊化:避免GameInstance過度膨脹。
  • 常見用途:成就系統、在線商店、Mod管理。

總結表格

父類核心作用生命周期典型用例
Actor場景中的基礎對象隨關卡加載/卸載門、開關、道具
Pawn可控制的實體隨生成/銷毀車輛、無人機
Character人形角色隨生成/銷毀玩家、NPC敵人
PlayerController玩家輸入與Pawn的橋梁玩家連接時創建,斷開時銷毀玩家控制、UI交互
AIControllerAI的大腦隨AI生成/銷毀敵人AI、寵物
GameMode游戲規則服務器關卡存在時勝利條件、角色生成
GameState同步全局游戲狀態隨關卡存在多人游戲得分、時間
PlayerState單個玩家的狀態玩家連接時創建玩家名稱、得分
UserWidgetUI界面手動創建/銷毀菜單、血條、技能欄
GameInstance跨關卡全局數據游戲啟動到退出語言設置、DLC管理
Level Blueprint關卡專屬邏輯隨關卡存在過場動畫、Boss戰觸發
Subsystem模塊化全局管理器按模塊自動管理成就系統、在線商店

選擇父類的原則

  1. 場景對象Actor
  2. 可控制角色Pawn/Character(人形用Character)。
  3. 玩家輸入PlayerController(非角色邏輯)。
  4. AI邏輯AIController + 行為樹
  5. 游戲規則GameMode(服務器)+ GameState(同步)。
  6. 跨關卡數據GameInstanceSubsystem

理解這些父類的邊界和協作方式,可以避免架構混亂(如將玩家輸入邏輯誤寫到Character中)。

(PS:該系列文章為筆者學習UE過程中所遇問題的AI解答,僅作參考)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/89824.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/89824.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/89824.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

141 個 LangChain4j Maven 組件分類解析、多場景實戰攻略

141 個 LangChain4j Maven 組件分類解析、多場景實戰攻略 文章目錄 141 個 LangChain4j Maven 組件分類解析、多場景實戰攻略 1. 引言 2. LangChain4j 組件分類 2.1. 核心模塊 (Core Modules) 2.2. LLM 集成 (LLM Integrations) 2.3. 向量存儲集成 (Embedding Store Integratio…

Python可迭代歸約函數深度解析:從all到sorted的進階指南

在Python中,歸約函數(Reduction Functions)是處理可迭代對象的利器。它們通過遍歷元素并逐步收斂為單個結果,廣泛應用于數據分析、邏輯判斷和數值計算等場景。本文將系統梳理這些函數的核心特性、使用技巧及底層邏輯,助…

大帶寬服務器都有哪些應用場景?

大帶寬服務器憑借著高速的數據傳輸能力和強大的網絡承載能力,通常被企業應用在需要高流量和高并發處理能力的業務場景當中,下面,就讓我們共同了解一下大帶寬服務器的應用場景吧!首先,隨著科學技術的快速發展&#xff0…

爬蟲實戰指南:從定位數據到解析請求的全流程解析

爬蟲的本質是什么? 爬蟲的本質就是用代碼模擬人類在瀏覽器里的操作,像點擊網頁、填寫表單、提交數據等行為,自動化地進行網頁數據的獲取和處理。比如: 發送 GET 請求 來請求網頁內容,相當于你在瀏覽器地址欄輸入網址…

Sentinel dashboard 添加context-path后無法信息無法上傳問題

Sentinel dashboard 添加context-path后無法加載問題 添加server.servlet.context-path/sentinel后可以正常訪問,但是客戶端啟動后信息上報失敗。 transport: dashboard: localhost:8858/sentinel 經查閱文檔需要加入api-path,但是我配置提示無api-path所…

iOS —— 3Gshare項目總結與思考

登陸注冊及推出主頁面這部分有兩種寫法:一種是在SceneDelegate中推出LoginVC,后在判斷登陸成功后退去主要程序。另一種則是先加載主程序,后推出登陸頁面。通過同組同學實踐證明,后者在推出登陸頁面時會閃一下,因此還是…

硅基計劃3.0 學習總結 貳 順序表與鏈表 初版

文章目錄一、順序表——ArrayList1. 實現自己MyArrayList1. 實現add基礎方法2. 實現指定位置加元素add方法3. 完善數組打印方法display4. 完善根據下標找元素get5. 完善判斷數字是否在數組中contains6. 根據數字找下標indexOf7. 更新指定下標元素set8. 獲取數組有效長度size9. …

Postman/Apipost中使用Post URL編碼發送含換行符參數的問題分析

Postman/Apipost中使用Post URL編碼發送含換行符參數的問題分析 在使用Postman或Apipost等API測試工具進行POST請求時,當參數中包含換行符(\n或\r)通過UI界面復制參數時會遇到參數發送失效的問題。 問題原因分析URL編碼規范限制: x-www-form-urlencoded格…

Swap Face 使用遇到的問題

INFO Extracting: 文件名 ERROR Unable to extract model file: File is not a zip file 因為插件沒有下載成功,可以開個代理。復制報錯的網址下載模型,解壓后手動放入D:\Program Files\faceswap\.fs_cache\ 插件GIT地址 chttps://github.com…

誤操作后快速恢復數據 binlog 解析為反向 SQL

誤操作后快速恢復數據 binlog 解析為反向 SQL 1.前言 本文將介紹使用 reverse_sql 工具將 GreatSQL 數據庫的 binlog 解析為反向 SQL 語句。模擬誤操作后,恢復數據。該工具可以幫助客戶在發生事故時快速恢復數據,避免進一步的損失。使用 reverse_sql 工具…

ABP VNext + Grafana Loki:集中式日志聚合

📝 ABP VNext Grafana Loki:集中式日志聚合 📚 目錄📝 ABP VNext Grafana Loki:集中式日志聚合一、引言? TL;DR二、環境與依賴🛠? 平臺版本🔗 NuGet 包?? 基礎服務三、Serilog Loki 集成…

分布在內側內嗅皮層(MEC)的帶狀細胞對NLP中的深層語義分析有什么積極的影響和啟示

帶狀細胞(Band Cells)作為內側內嗅皮層(Medial Entorhinal Cortex, MEC)層Ⅱ/Ⅲ的核心空間編碼單元(如網格細胞、頭方向細胞等),其獨特的神經計算機制為自然語言處理(NLP&#xff09…

Django Ninja

Django Ninja 是一個用于 Django 框架的快速、現代化的 API 開發庫,旨在簡化構建高性能、類型安全的 RESTful API。它受到 FastAPI 的啟發,結合了 Django 的強大功能和 FastAPI 的簡潔與現代化設計,特別適合需要快速開發、易于維護且具有強類…

iic時序

數據和應答信號都規定在SCL在高電平期間,SDA電平穩定;SCL在低電平期間,SDA電平才可以變化。要不然容易被誤認為起始或停止信號。應答信號:1. 第九個SCL之前的低電平期間將SDA拉低2. 確保在SCL為高電平時,SDA為穩定的低…

GitHub+Git新手使用說明

Git Git是一個在本地用于隨時保存和查看歷史版本的軟件Git的三個概念:提交commit、倉庫repository、分支branch Git安裝 在電腦里面按winR,輸入cmd進入終端后輸入git --version,然后再次輸入where git,查看git所在位置 Git常用語句…

前端圖像視頻實時檢測

需求:在目標檢測時,我們要求前端能夠將后端檢測的結果實時渲染在圖片或者視頻上。圖片是靜態的,只需要渲染一次;而視頻是動態的,播放時需要根據幀數來實時渲染標注框,可以想象視頻就是由一張張圖片播放的效…

如何解決pip安裝報錯ModuleNotFoundError: No module named ‘sqlalchemy’問題

【Python系列Bug修復PyCharm控制臺pip install報錯】如何解決pip安裝報錯ModuleNotFoundError: No module named ‘sqlalchemy’問題 摘要 在使用 PyCharm 控制臺執行 pip install sqlalchemy 后,仍然在代碼中提示 ModuleNotFoundError: No module named sqlalche…

第4.3節 iOS App生成追溯關系

iOS生成追溯關系的邏輯和Android端從用戶角度來說是一致的,就是需要通過開始和結束關聯用例,將用例信息與覆蓋率信息建立關系,然后再解析覆蓋率數據。 4.3.1 添加關聯用例彈層 關聯用例彈層和Android類似,只要你能設計出相應的樣…

STM32 USB鍵盤實現指南

概述 在STM32上實現鍵盤功能可以通過USB HID(人機接口設備)協議來實現,使STM32設備能被計算機識別為標準鍵盤。以下是完整的實現方案: 硬件準備 STM32開發板(支持USB,如STM32F103、STM32F4系列) USB接口(Micro USB或Type-C) 按鍵矩陣或單個按鍵 必要的電阻和連接…

繼電器基礎知識

繼電器是一種電控制器件,它具有隔離功能的自動開關元件,廣泛應用于遙控、遙測、通訊、自動控制、機電一體化及電力電子設備中,是最重要的控制元件之一。 繼繼電器的核心功能是通過小電流來控制大電流的通斷。它通常包含一個線圈和一組或多組觸點。當給繼電器的線圈施加一定…