虛幻引擎5-Unreal Engine筆記之Default Pawn與GamMode、Camera的關系

虛幻引擎5-Unreal Engine筆記之Default Pawn與GamMode、Camera的關系

在這里插入圖片描述

code review!

文章目錄

  • 虛幻引擎5-Unreal Engine筆記之Default Pawn與GamMode、Camera的關系
    • 1.`Default Pawn`與`Camera`的關系
      • 1.1. Default Pawn 是什么?
      • 1.2. Default Pawn 的主要組件
      • 1.3. DefaultPawn 的常見應用場景
      • 1.4. 如何使用 Default Pawn?
        • 1.4.1.藍圖方式
        • 1.4.2.C++ 方式
      • 1.5. Default Pawn 與 Character 的區別
      • 1.6. 常見問題
    • 2.Default Pawn 和GamMode Override的關系
      • 2.1. GameMode 的作用
      • 2.2. GameMode Override None 的含義
      • 2.3. Default Pawn 與 GameMode 的關系
      • 2.4. 實際舉例
      • 2.5. 常見誤區
    • 3.DefaultPawn的藍圖可以查看嗎?
      • 3.1.答案
      • 3.2. 引擎自帶的 DefaultPawn
      • 3.3. 如何“查看”或“修改”DefaultPawn的藍圖?
        • 方法A:派生自己的藍圖類
        • 方法B:查看引擎C++源碼(可選)

1.Default PawnCamera的關系

在Unreal Engine 5(UE5)中,Default Pawn 是引擎自帶的一種默認角色類,主要用來快速實現基本的玩家控制和攝像機跟隨。下面詳細介紹一下 Default Pawn 在 UE5 中的作用、特點以及常見用法。

1.1. Default Pawn 是什么?

DefaultPawn 是 Unreal Engine 提供的一個基礎 Pawn(棋子/角色)類,繼承自 APawn。它帶有一些內置的功能,比如:

  • 內置的球體碰撞體(Sphere Collision)
  • 內置的移動組件(Floating Pawn Movement)
  • 默認的攝像機和彈簧臂(Camera + Spring Arm)
  • 支持 WASD(或手柄)移動和鼠標(或右搖桿)控制視角

它廣泛用于快速原型開發和測試。

  • Pawn:Pawn 是游戲世界中的一個可以被玩家或 AI 控制的實體。

  • Default Pawn:GameMode 中設置的 Default Pawn Class,決定了游戲開始時玩家默認擁有和控制的 Pawn 類型。

  • PlayerController:玩家輸入通過 PlayerController 控制 Pawn。

  • DefaultPawn 適合用來做攝像機自由移動、測試、上帝視角等不需要復雜動畫和物理的場景。

  • 如果項目需要角色動畫、物理碰撞、AI 行為,請用 Character 類型。

1.2. Default Pawn 的主要組件

  • Root Component:通常是一個球體碰撞體(USphereComponent)。
  • Movement Component:UFloatingPawnMovement,讓 Pawn 能在場景中自由移動。
  • Camera & Spring Arm:用于第三人稱或自由視角觀察。

Default Pawn 結構示意

1.3. DefaultPawn 的常見應用場景

  • 第三人稱自由攝像機(如編輯器視角、上帝視角)
  • 過渡/臨時 Pawn(比如用來調試關卡時快速飛行)
  • 最基本的玩家控制器,不涉及人物動畫或復雜邏輯

1.4. 如何使用 Default Pawn?

1.4.1.藍圖方式
  1. 在“內容瀏覽器”中新建藍圖類,父類選擇 DefaultPawn
  2. 打開藍圖,編輯或擴展其功能(比如添加自定義組件或邏輯)。
  3. 在“世界設置”中,將 Default Pawn Class 設為自己的 Pawn 藍圖。
  4. 運行游戲,可以用 WASD 控制移動,鼠標控制視角。
1.4.2.C++ 方式
// 繼承 DefaultPawn
class AMyPawn : public ADefaultPawn
{GENERATED_BODY()// 可添加自定義組件或邏輯
};

然后在 GameMode 里設置:

DefaultPawnClass = AMyPawn::StaticClass();

1.5. Default Pawn 與 Character 的區別

  • DefaultPawn:沒有角色骨骼和動畫系統,只有簡單移動和攝像機。
  • Character:繼承自 Pawn,帶有角色骨骼、動畫藍圖、碰撞膠囊體、角色移動組件,適用于需要動畫和物理的角色。
Default PawnCharacter
動畫有(支持骨骼動畫)
移動簡單(浮空移動)復雜(行走、跳躍、蹲伏等)
用途攝像機、自由移動真實角色控制

1.6. 常見問題

  1. 為什么鏡頭會穿墻?
    因為默認的攝像機碰撞體積較小,可能需要自定義 SpringArm 的碰撞參數。
  2. 如何添加鼠標控制?
    默認已內置基礎鼠標控制,可以通過藍圖或輸入映射修改。
  3. 如何讓 DefaultPawn 懸浮/飛行?
    默認帶有 FloatingPawnMovement,支持六自由度飛行

2.Default Pawn 和GamMode Override的關系

在**Unreal Engine 5(UE5)**中,Default PawnGameMode(尤其是 GameMode Override None)之間的關系,是許多新手開發者經常困惑的問題。下面詳細解釋它們的作用與相互關系:

2.1. GameMode 的作用

  • GameMode 決定了關卡的基本規則,包括:

  • 玩家使用的 Pawn(Default Pawn Class)

  • 玩家使用的 PlayerController

  • 游戲的勝負條件、重生機制等

  • 每個關卡可以指定自己的 GameMode,也可以繼承全局的 GameMode。

2.2. GameMode Override None 的含義

  • 在關卡的 World Settings 里有一項 GameMode Override。
  • 如果設置為 None,意思是本關卡不會覆寫項目默認的 GameMode,會使用項目設置(Project Settings > Maps & Modes)里的 Default GameMode。
  • 如果選擇了某個 GameMode(比如 MyGameMode),那么本關卡就會采用這個 GameMode 的 Default Pawn、PlayerController 等設置。

2.3. Default Pawn 與 GameMode 的關系

  • GameMode 決定 Default Pawn
  • GameMode 有一個設置項叫 Default Pawn Class。
  • 游戲開始時,GameMode 會為每個玩家生成一個 Pawn,類型就是 Default Pawn Class。
  • 如果 GameMode Override 為 None
  • 關卡會用項目設置里的 Default GameMode。
  • 也就用那個 GameMode 里的 Default Pawn Class 生成 Pawn。
  • 如果 GameMode Override 為自定義 GameMode
  • 則用自定義 GameMode 的 Default Pawn Class。

2.4. 實際舉例

假設項目設置如下:

  • Project Settings > Maps & Modes
  • Default GameMode = MyGameMode
  • MyGameMode 里 Default Pawn Class = MyPawn

現在有兩個關卡:

  • LevelA
  • GameMode Override = None
  • → 開始游戲時,玩家會控制 MyPawn
  • LevelB
  • GameMode Override = AnotherGameMode
  • AnotherGameMode 里 Default Pawn Class = AnotherPawn
  • → 開始游戲時,玩家會控制 AnotherPawn

2.5. 常見誤區

  • 不能單獨設置 Default Pawn,而忽略 GameMode 的影響。

  • 只要想要更換玩家默認控制的 Pawn,應該新建一個 GameMode 并設置其 Default Pawn Class,再在關卡里指定 GameMode Override。

  • Default Pawn Class 是由 GameMode 控制的。

  • GameMode Override = None,就用項目默認的 GameMode 及其 Default Pawn。

  • GameMode Override = 自定義GameMode,就用那個 GameMode 的 Default Pawn。

  • Default Pawn 和 GameMode 是緊密關聯的,不能分開單獨設置。

3.DefaultPawn的藍圖可以查看嗎?

3.1.答案

可以,但有區別:

  • DefaultPawn 是引擎自帶的 C++ 類,不是藍圖類,因此不能直接在內容瀏覽器中看到它的藍圖文件。
  • 可以創建自己的 DefaultPawn 派生藍圖類,然后完全可視化修改和查看!
  • 內置 DefaultPawn 不是藍圖,但可以自定義藍圖派生類來“查看”和拓展它。
  • 實際開發中推薦創建自己的藍圖 Pawn,這樣可視化操作、擴展性最好。

3.2. 引擎自帶的 DefaultPawn

  • DefaultPawn 是 Unreal Engine 內置的 C++ 類,位于引擎源碼中。
  • 它的C++源碼在 Engine/Source/Runtime/Engine/Classes/GameFramework/DefaultPawn.h
  • 它本身不是藍圖類,所以在內容瀏覽器里直接找不到 “DefaultPawn”的藍圖。

3.3. 如何“查看”或“修改”DefaultPawn的藍圖?

方法A:派生自己的藍圖類
  1. 在內容瀏覽器里,右鍵 > 藍圖類 > 搜索并選擇 DefaultPawn 作為父類。
  2. 命名并創建藍圖類(比如 BP_MyDefaultPawn)。
  3. 打開這個藍圖類,就能看到和編輯它的所有組件、變量、事件、函數等。
  4. 在 GameMode 里把 Default Pawn Class 設置成藍圖類。
方法B:查看引擎C++源碼(可選)
  • 如果對C++感興趣,可以在引擎安裝目錄下查看 DefaultPawn 的 C++ 實現,了解它的默認行為。

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

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

相關文章

HarmonyOs開發之———UIAbility進階

謝謝關注!! 前言:上一篇文章主要介紹開發之———使用HTTP訪問網絡資源:HarmonyOs開發之———使用HTTP訪問網絡資源-CSDN博客 代碼資源:https://download.csdn.net/download/this_is_bug/90841580 一、基本概念 UIAbility 是 HarmonyOS 應用的核心組件,負責用戶界面的…

java實現根據Velocity批量生成pdf并合成zip壓縮包

Velocity 模版操作 用的之前寫好的: 傳送門 其中需要新加一個轉成輸入流的方法 public static InputStream convertToPdf(StringWriter stringWriter) throws IOException {//將 HTML 轉為字節流byte[] htmlBytes stringWriter.toString().getBytes(StandardCharsets.UTF_8)…

SCDN能夠運用在物聯網加速當中嗎?

在當今的科技化時代當中,物聯網已經廣泛滲透在各個領域行業當中,隨著物聯網規模的不斷擴大,數據信息的傳輸速度和網絡穩定性成為企業需要重視的兩點因素,而SCDN也成為安全內容分發網絡作為一種融合了內容加速和安全防護的技術&…

二程運輸的干散貨船路徑優化

在二程運輸中,干散貨船需要將貨物從一個港口運輸到多個不同的目的地港口。路徑優化的目標是在滿足貨物運輸需求、船舶航行限制等條件下,確定船舶的最佳航行路線,以最小化運輸成本、運輸時間或其他相關的優化目標。 影響因素 港口布局與距離…

Oracle物理恢復相關注意點

如果需要恢復的數據庫或者數據文件不存在,則需要將全量備份集RESTORE[ 將全量備份集恢復到目標數據庫中,稱之為RESTORE。]到目標數據庫中,然后再RECOVER[ 將增量備份集或者歸檔日志恢復到目標數據庫中,稱之為RECOVER。]增量備份集…

C++ string小記

#include<string> using std::string;string s1; string s2 "hello" //初始化一個hello字符串 string s3(5,a) //連續5個字符a組成的串&#xff0c;即aaaaa///字符串操作int length s1.size() //.size()求字符串長度char c1 s1[1]; //從下標0開始&#xf…

自然語言處理入門級項目——文本分類(預處理)

文章目錄 前言1.數據預處理1.1數據集介紹1.2數據集抽取1.3劃分數據集1.4數據清洗1.5數據保存 2.樣本的向量化表征2.1詞匯表2.2向量化2.3自定義數據集2.4備注 結語 前言 本篇博客主要介紹自然語言處理領域中一個項目案例——文本分類&#xff0c;具體而言就是判斷評價屬于積極還…

C++面試2——C與C++的關系

C與C++的關系及核心區別的解析 一、哲學與編程范式:代碼組織的革命 過程式 vs 多范式混合 C語言是過程式編程的典范,以算法流程為中心,強調“怎么做”(How)。例如,實現鏈表操作需手動管理節點指針和內存。 C++則是多范式語言,支持面向對象(OOP)、泛型編程(模板)、函…

HTTP與HTTPS協議的核心區別

HTTP與HTTPS協議的核心區別 數據傳輸安全性 HTTP采用明文傳輸&#xff0c;數據易被竊聽或篡改&#xff08;如登錄密碼、支付信息&#xff09;&#xff0c;而HTTPS通過SSL/TLS協議對傳輸內容加密&#xff0c;確保數據完整性并防止中間人攻擊。例如&#xff0c;HTTPS會生成對稱加…

PotPlayer 安裝 madVR、LAV Filters 以提升解碼能力和視頻音頻效果

PotPlayer自帶的解碼器并不是最好&#xff0c;如下兩張截圖都是出自 TOP GUN: Maverick 較暗、灰蒙蒙的一張&#xff0c;是安裝插件之前明亮的一張&#xff0c;是安裝插件之后 詳細安裝參考 https://www.bilibili.com/video/BV1UV5qzuE74?spm_id_from333.788.videopod.sectio…

深入理解 OpenCV 的 DNN 模塊:從基礎到實踐

在計算機視覺領域蓬勃發展的當下&#xff0c;深度學習模型的廣泛應用推動著技術的不斷革新。OpenCV 作為一款強大且開源的計算機視覺庫&#xff0c;其 DNN&#xff08;Deep Neural Network&#xff09;模塊為深度學習模型的落地應用提供了高效便捷的解決方案。本文將以理論為核…

Spring MVC 中請求處理流程及核心組件解析

在 Spring MVC 中&#xff0c;請求從客戶端發送到服務器后&#xff0c;需要經過一系列組件的處理才能最終到達具體的 Controller 方法。這個過程涉及多個核心組件和復雜的映射機制&#xff0c;下面詳細解析其工作流程&#xff1a; 1. 核心組件與請求流程 Spring MVC 的請求處…

RISC-V 開發板 MUSE Pi Pro V2D圖像加速器測試,踩坑介紹

視頻講解&#xff1a; RISC-V 開發板 MUSE Pi Pro V2D圖像加速器測試&#xff0c;踩坑介紹 今天測試下V2D&#xff0c;這是K1特有的硬件級別的2D圖像加速器&#xff0c;參考如下文檔&#xff0c;但文檔中描述的部分有不少問題&#xff0c;后面會講下 https://bianbu-linux.spa…

hbase shell的常用命令

一、hbase shell的基礎命令 # 版本號查看 [rootTest-Hadoop-NN-01 hbase]$ ./bin/hbase version HBase 2.4.0 Source code repository git://apurtell-ltm.internal.salesforce.com/Users/apurtell/src/hbase revision282ab70012ae843af54a6779543ff20acbcbb629# 客戶端登錄 […

深入解析Python中的Vector2d類:從基礎實現到特殊方法的應用

引言 在Python面向對象編程中&#xff0c;特殊方法&#xff08;或稱魔術方法&#xff09;是實現對象豐富行為的關鍵。本文將以Vector2d類為例&#xff0c;詳細講解如何通過特殊方法為自定義類添加多種表示形式和操作能力。 Vector2d類的基本行為 Vector2d類是一個二維向量類…

Zookeeper入門(三)

Zookeeper Java 客戶端 項目構建 ookeeper 官方的客戶端沒有和服務端代碼分離&#xff0c;他們為同一個jar 文件&#xff0c;所以我們直接引入 zookeeper的maven即可&#xff0c; 這里版本請保持與服務端版本一致&#xff0c;不然會有很多兼容性的問題 1 <dependency>…

Redis的主從架構

主從模式 全量同步 首先主從同步過程第一步 會先比較replication id 判斷是否是第一次同步假設為第一次同步 那么就會 啟動bgsave異步生成RDB 同時fork子進程記錄生成期間的新數據發送RDB給從節點 清空本地數據寫入RDB 增量同步 對比ReplicationID不同因此選擇增量同步在Rep…

新電腦軟件配置二:安裝python,git, pycharm

安裝python 地址 https://www.python.org/downloads/ 不是很懂為什么這么多版本 安裝windows64位的 這里我是憑自己感覺裝的了 然后cmd輸入命令沒有生效&#xff0c;先重啟下&#xff1f; 重啟之后再次驗證 環境是成功的 之前是輸入的python -version 命令輸入錯誤 安裝pyc…

docker 學習記錄

docker pull nginx docker 將本地nginx快照保存到當前文件夾下 docker save -o nginx.tar nginx:latestdocker 將本地nginx 加載 docker load -i nginx.tar docker運行nginx在80端口 docker run --name dnginx -p 80:80 -d nginxredis啟動 docker run --name mr -p 6379:6379 -…

什么是私有IP地址?如何判斷是不是私有ip地址

在互聯網的世界中&#xff0c;IP地址是設備之間通信的基礎標識。無論是瀏覽網頁、發送郵件還是在線游戲&#xff0c;IP地址都扮演著至關重要的角色。然而&#xff0c;并非所有的IP地址都是公開的&#xff0c;有些IP地址被保留用于內部網絡&#xff0c;這就是我們所說的私有IP地…