【UE C++】设置游戏模式

news2025/1/15 21:56:24

问题

        我们都知道如何使用蓝图创建一个游戏模式并且在这个游戏模式蓝图中去设置“默认pawn类”、“HUD类”、“玩家控制器类”、“游戏状态类”、“玩家状态类”、“旁观者类”。那么如何使用C++完成该操作呢?

步骤

1. 首先创建“GameMode”、“GameState”、“HUD”、“Pawn”、“PlayerController”、“PlayerState”C++类 

 2. 在GameMode的头文件中添加“GameState”、“HUD”、“Pawn”、“PlayerController”、“PlayerState”的头文件,这样我们就能在GameMode中拿到这些类的StaticClass

添加一个构造函数

#pragma once

#include "CoreMinimal.h"
#include "MyGameState.h"
#include "MyHUD.h"
#include "MyPawn.h"
#include "MyPlayerController.h"
#include "MyPlayerState.h"
#include "GameFramework/GameMode.h"
#include "MyGameMode.generated.h"

/**
 * 
 */
UCLASS()
class TESTPROJECT_API AMyGameMode : public AGameMode
{
	GENERATED_BODY()
		AMyGameMode();
	
};

3. 在GameMode的源文件中实现构造函数,即设置游戏模式默认使用的pawn类、HUD类、玩家控制器类、游戏状态类、玩家状态类和旁观者类。

#include "MyGameMode.h"
AMyGameMode::AMyGameMode() {
	DefaultPawnClass = AMyPawn::StaticClass();
	PlayerControllerClass = AMyPlayerController::StaticClass();
	GameStateClass = AMyGameState::StaticClass();
	PlayerStateClass = AMyPlayerState::StaticClass();
	HUDClass = AMyHUD::StaticClass();
}

4. 编译成功后,我们可以在UE编辑器中的世界场景设置中设置游戏模式重载为我们创建的那个GameMode类,此时可以看到游戏模式中的pawn类、HUD类、玩家控制器类、游戏状态类、玩家状态类和旁观者类已经被设置好了。

参考视频:

https://www.bilibili.com/video/BV1Dc411f7nx?p=6&spm_id_from=pageDriver&vd_source=36a3e35639c44bb339f59760641390a8

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1623269.html

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

相关文章

nginx 配置 SSL 证书实现 https 访问

nginx 配置SSL证书实现https访问 1. SSL 证书简介与获取1.1 SSL 证书介绍1.2 获取 SSL 证书 2. nginx 配置 SSL 文件2.1 SSL 文件放置与配置文件修改2.1.1 文件配置2.1.2 强制 https 访问 2.2 验证配置结果 同步发布在个人笔记 nginx 配置 SSL 证书实现 https 访问 配置好 ngi…

【嵌入式linux】Ubuntu 修改用户名

第一次打开Ubuntu时不小心把初始用户名“siriusiot”写成“siriousiot”(多了一个o) 。作为技术人,我们要保持严谨,我们要纠正过来(其实就是单词拼错了怕被笑话)。 打开终端,输入: …

WEB攻防-ASP安全-MDB下载

MDB下载漏洞主要涉及到早期ASPAccess构架的数据库文件。当Web站点提供文件下载功能时,如果没有对下载请求进行充分的验证和过滤,或者服务器配置不当,就可能产生文件下载漏洞。攻击者可以利用这个漏洞,通过修改请求参数或尝试猜测或…

Composer初次接触

php一直都是简单处理一下单片机的后台服务,没什么深入研究 今天安装一个 php composer.phar require qiniu/php-sdkComposer完全不懂,照着一试,就报错了 - topthink/think-installer v1.0.12 requires composer-plugin-api ^1.0 -> found…

什么是OCR转换?

OCR转换是指将图片或扫描文档中的文字内容转换成电子文本的过程。OCR代表光学字符识别(Optical Character Recognition),是一种通过算法和模型来识别图像或文档中的文字,并将其转换成可编辑、可搜索的文本格式。OCR转换通常包括以…

分布式-知识体系

分布式系统 本质就是一堆机器的协同,要做的就是用各种手段来让机器的运行达到预期 分布式业务场景 分布式四纵四横说 基于 MSA(微服务架构)的分布式知识体系 相关概念 – 【摘自网络原文】 节点与网络 节点 传统的节点也就是一台单体的物…

AI预测体彩排列3第2套算法实战化测试第3弹2024年4月25日第3次测试

今天继续进行新算法的测试,今天是第3次测试。好了,废话不多说了,直接上图上结果。 2024年4月25日体彩排3预测结果 6码定位方案如下: 百位:4、5、3、6、1、0 十位:6、5、4、3、1、0 个位:6、2、7…

Lock-It for Mac(应用程序加密工具)

OSXBytes Lock-It for Mac是一款功能强大的应用程序加密工具,专为Mac用户设计。该软件具有多种功能,旨在保护用户的隐私和数据安全。 Lock-It for Mac v1.3.0激活版下载 首先,Lock-It for Mac能够完全隐藏应用程序,使其不易被他人…

【UE C++】重写基类中的BeginPlay、Tick函数

前言 为了让游戏场景中的各种继承于“Actor”的游戏对象在生命周期中执行自定义逻辑和行为,我们通常需要重写“Actor”类及其派生类中的BeginPlay、Tick函数。 那么如何用C重写BeginPlay、Tick函数呢,可参考如下步骤。 步骤 1. 在头文件中添加如下代码…

consul服务注册与发现、服务配置与刷新

为什么要用服务注册?为什么要用consul不用eureka? 举个栗子: 微服务当中存在多个服务模块,每个服务模块的ip端口在每套环境是不一致的,开发切换环境部署时,如果漏了一个配置忘记改动,将是一个很…

如何开启kali的ssh远程连接

1.打开配置文件 vim /etc/ssh/sshd_config 将第13行和32改为如下,保存退出 重启服务 sudo systemctl restart ssh.service 使用远程工具(如xshell)即可连接 如果无法连接,需要先生成两个密钥:ssh-keygen -t dsa -f…

Web APIs 学习归纳1---Web API概述简单的元素获取

JS基础中我们学习了JS的基本语句,这些是后续学习中的基础。 有了上述JS的基础以后,我们就可以开始学习交互效果的实现方法。这里很多时候直接调用JS封装好的API即可。 一、Web APIs 和 JS 基础关联性 这里有一张图很好的解释了这个问题: 我们…

离线模式下载安装gcc-4.8.5

目录 一,下载gcc离线安装包 二,下载gcc依赖包 三,安装gcc 1, 解压 2, 将依赖库放置环境 3, 安装 3.1自动安装 3.1.1 执行依赖库的编译 3.1.2 新建编译目录 3.1.3 配置编译环境 3.1.4 编译 3.1.5 安装 3.2 手动安装 3.2.…

扫码怎样上传现场照片或视频?快速提交现场记录的方法

现在很多应用场景会使用二维码来登记信息,通过手机扫描二维码即可根据问题填写对应的数据,比如在活动签到、预约报名、巡视检查、用户调研等场景现在都会采用这种方式来登记信息。有些时候需要扫码者在填写数据时上传现场相关照片或者视频来作为证明&…

Unity Meta Quest MR 开发(七):使用 Stencil Test 模板测试制作可以在虚拟与现实之间穿梭的 MR 传送门

文章目录 📕教程说明📕Stencil Test 模板测试📕Stencil Shader📕使用 Unity URP 渲染管线设置模板测试⭐Render Pipeline Asset 与 Universal Renderer Data⭐删除场景中的天空盒⭐设置虚拟世界的层级 Layer⭐设置模板测试 &#…

FreeRTOS:3.消息队列

FreeRTOS消息队列 本文主要基于消息队列的源码进行分析,来对FreeRTOS的消息队列进一步学习。 消息队列非常重要,因为后面的各种信号量基本都是基于队列的,搞清楚消息队列的源码,也就搞清楚消息队列的原理。 参考链接&#xff1…

Linux命令行基本操作

目录 (1)实验目的: (2)实验内容: (3)实验原理: (4) 实验步骤: 1.分别创建两个文件并任意输入不同的英文内容(文件名用自己的姓名拼音与编号命名,如zhangsan01、zhangsan02)。 2.将上题两个文件合并&a…

【Hadoop】-HDFS的Shell操作[3]

目录 前言 一、HDFS集群启停命令 1.一键启停脚本可用 2.独立进程启停可用 二、文件系统操作命令 1、创建文件夹 2、查看指定目录下内容 3、上传文件到HDFS指定目录下 4、查看HDFS文件内容 5、下载HDFS文件 6、拷贝HDFS文件 7、追加数据到HDFS文件中 8、HDFS数据移…

统一SQL 支持Oracle decode函数到TDSQL-MySQL的转换

统一SQL介绍 https://www.light-pg.com/docs/LTSQL/current/index.html 源和目标 源数据库:Oracle 目标数据库:TDSQL-MySQL 操作目标 在Oracle中,decode函数语法如下图:该函数功能是将 expr与每个 search 依次做比较&#x…

【学习】应急响应

知识体系 事件前 事件后 导致安全事件的原因 part2 事件的分级分类 part3 应急响应工作流程