虚幻引擎5-Unreal Engine笔记之Default Pawn与GamMode、Camera的关系

news2025/5/20 17:06:14

虚幻引擎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.coloradmin.cn/o/2380122.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++多态的详细讲解

【本节目标】 1. 多态的概念 2. 多态的定义及实现 3. 抽象类 4. 多态的原理 5. 单继承和多继承关系中的虚函数表 前言 需要声明的,本博客中的代码及解释都是在 vs2013 下的 x86 程序中,涉及的指针都是 4bytes 。 如果要其他平台下,部…

vue项目启动报错

vue项目启动报错 一、问题二、解决 一、问题 从vue2更换到vue3之后,需要将node进行版本升级,之后启动项目出现了下面的问题。 Uncaught Error: A route named “PageNotFound” has been added as a child of a route with the same name. Route names …

免费私有化部署! PawSQL社区版,超越EverSQL的企业级SQL优化工具面向个人开发者开放使用了

1. 概览 1.1 快速了解 PawSQL PawSQL是专注于数据库性能优化的企业级工具,解决方案覆盖SQL开发、测试、运维的整个流程,提供智能SQL审核、查询重写优化及自动化巡检功能,支持MySQL、PostgreSQL、Oracle、SQL Server等主流数据库及达梦、金仓…

SecureCRT 使用指南:安装、设置与高效操作

目录 一、SecureCRT 简介 1.1 什么是 SecureCRT? 1.2 核心功能亮点 1.3 软件特点 二、SecureCRT 安装与激活 2.1 安装步骤(Windows 系统) 2.2 激活与破解(仅供学习参考) 三、基础配置与优化 3.1 界面与编码设…

Tomcat多应用部署与静态资源路径问题全解指南

🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C、C#等开发语言,熟悉Java常用开…

【微信小程序 + 高德地图API 】键入关键字搜索地址,获取经纬度等

前言 又到熟悉的前言,接到个需求,要引入高德地图api,我就记录一下,要是有帮助记得点赞、收藏、关注😁。 后续有时间会慢慢完善一些文章:(画饼时间) map组件自定义气泡、mark标记点…

排序算法之线性时间排序:计数排序,基数排序,桶排序详解

排序算法之线性时间排序:计数排序、基数排序、桶排序详解 前言一、计数排序(Counting Sort)1.1 算法原理1.2 代码实现(Python)1.3 性能分析1.4 适用场景 二、基数排序(Radix Sort)2.1 算法原理2…

Linux | mdadm 创建软 RAID

注:本文为 “Linux mdadm RAID” 相关文章合辑。 略作重排,未整理去重。 如有内容异常,请看原文。 Linux 下用 mdadm 创建软 RAID 以及避坑 喵ฅ・ﻌ・ฅ Oct 31, 2023 前言 linux 下组软 raid 用 mdadm 命令,multi…

CodeEdit:macOS上一款可以让Xcode退休的IDE

CodeEdit 是一款轻量级、原生构建的代码编辑器,完全免费且开源。它使用纯 swift 实现,而且专为 macOS 设计,旨在为开发者提供更高效、更可靠的编程环境,同时释放 Mac 的全部潜力。 Stars 数21,719Forks 数1,081 主要特点 macOS 原…

LLaMA-Factory 微调 Qwen2-7B-Instruct

一、系统环境 使用的 autoDL 算力平台 1、下载基座模型 pip install -U huggingface_hub export HF_ENDPOINThttps://hf-mirror.com # (可选)配置 hf 国内镜像站huggingface-cli download --resume-download shenzhi-wang/Llama3-8B-Chinese-Chat -…

mac本地docker镜像上传指定虚拟机

在Mac本地将Docker镜像上传至指定虚拟机的完整步骤 1. 在Mac本地保存Docker镜像为文件 通过docker save命令将镜像打包为.tar文件,便于传输至虚拟机。 # 示例:保存名为"my_image"的镜像到当前目录 docker save -o my_image.tar my_image:ta…

从代码学习深度学习 - 风格迁移 PyTorch版

文章目录 前言方法 (Methodology)阅读内容和风格图像预处理和后处理抽取图像特征定义损失函数内容损失 (Content Loss)风格损失 (Style Loss)全变分损失 (Total Variation Loss)总损失函数初始化合成图像训练模型总结前言 大家好!欢迎来到我们的深度学习代码学习系列。今天,…

软件设计师考试《综合知识》设计模式之——工厂模式与抽象工厂模式考点分析

软件设计师考试《综合知识》工厂模式与抽象工厂模式考点分析 1. 分值占比与考察趋势(75分制) 年份题量分值占总分比例核心考点2023111.33%抽象工厂模式适用场景2022222.67%工厂方法 vs 抽象工厂区别2021111.33%工厂方法模式结构2020111.33%简单工厂模式…

轻量级离线版二维码工具的技术分析与开发指南

摘要 本文介绍一款基于本地化运行的轻量级二维码处理工具。该工具采用标准QR Code规范实现,具备完整的生成与识别功能。通过实测验证其核心功能表现及适用场景。 主要功能模块分析 编码生成模块:支持文本/URL等多种数据类型转换;提供尺寸调…

机器学习--特征工程具体案例

一、数据集介绍 sklearn库中的玩具数据集,葡萄酒数据集。在前两次发布的内容《机器学习基础中》有介绍。 1.1葡萄酒列标签名: wine.feature_names 结果: [alcohol, malic_acid, ash, alcalinity_of_ash, magnesium, total_phenols, flavanoi…

Unreal 从入门到精通之SceneCaptureComponent2D实现UI层3D物体360°预览

文章目录 前言SceneCaptureComponent2D实现步骤新建渲染目标新建材质UI控件激活3DPreview鼠标拖动旋转模型最后前言 我们在(电商展示/角色预览/装备查看)等应用场景中,经常会看到这种3D展示的页面。 即使用相机捕获一个3D的模型的视图,然后把这个视图显示在一个UI画布上,…

电机控制杂谈(25)——为什么对于一般PMSM系统而言相电流五、七次谐波电流会比较大?

1. 背景 最近都在写论文回复信。有个审稿人问了一个问题——为什么对于一般PMSM系统而言相电流五、七次谐波电流会比较大?同时,为什么相电流五、七次谐波电流会在dq基波旋转坐标系构成六次谐波电流? 回答这个问题挺简单的,但在网…

多模态大语言模型arxiv论文略读(七十八)

AID: Adapting Image2Video Diffusion Models for Instruction-guided Video Prediction ➡️ 论文标题:AID: Adapting Image2Video Diffusion Models for Instruction-guided Video Prediction ➡️ 论文作者:Zhen Xing, Qi Dai, Zejia Weng, Zuxuan W…

【C语言】易错题 经典题型

出错原因&#xff1a;之前运行起来的可执行程序没有关闭 关闭即可 平均数&#xff08;average&#xff09; 输入3个整数&#xff0c;输出它们的平均值&#xff0c;保留3位小数。 #include <stdio.h> int main() {int a, b, c;scanf("%d %d %d", &a, &…

说一说Node.js高性能开发中的I/O操作

众所周知&#xff0c;在软件开发的领域中&#xff0c;输入输出&#xff08;I/O&#xff09;操作是程序与外部世界交互的重要环节&#xff0c;比如从文件读取数据、向网络发送请求等。这段时间&#xff0c;也指导项目中一些项目的开发工作&#xff0c;发现在Node.js运用中&#…