09-Pawn类 UE4 C++

news/2024/4/19 18:43:01/文章来源:https://blog.csdn.net/ChaoChao66666/article/details/127249637

1.首先创建一个C++的Pawn类

右键点击Public,选择新建C++类 

 选择Pawn,然后点击下一步

命名后,点击创建

创建完毕,双击打开MyPawn 

 

 2.在MyPawn.h中添加如下代码:

UPROPERTY(EditAnywhere)
class UStaticMeshComponent* MeshComponent;  //静态网格UPROPERTY(EditAnywhere)
class UCameraComponent* Camera;  //摄像机

 3.在MyPawn.cpp中添加如下代码:

这里引用MyPawn.h的相对路径出错,于是直接改成绝对路径

#include "D:/UE4/UE4Project/CTestProject/Source/CTestProject/Public/MyPawn.h"
#include "Components/StaticMeshComponent.h"
#include "Camera/CameraComponent.h"// Sets default values
AMyPawn::AMyPawn()
{// Set this pawn to call Tick() every frame.  You can turn this off to improve performance if you don't need it.PrimaryActorTick.bCanEverTick = true;RootComponent = CreateDefaultSubobject<USceneComponent>(TEXT("RootComponent"));  //创建一个根组件MeshComponent = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("MeshComponent"));  //创建一个Mesh组件MeshComponent->SetupAttachment(GetRootComponent());  //将Mesh组件绑定在根组件下面Camera = CreateDefaultSubobject<UCameraComponent>(TEXT("Camera"));  //创建一个摄像机组件Camera->SetupAttachment(GetRootComponent());  //将摄像机组件绑定在根组件下面Camera->SetRelativeLocation(FVector(-300.f, 0, 300));  //设置摄像机的相对位置Camera->SetRelativeRotation(FRotator(-45.f, 0, 0));  //设置摄像机的相对旋转}

最后记得生成解决方案

 4.新建一个蓝图

 选择MyPawn

 命名为BP_MyPawn

 双击打开BP_MyPawn,发现根组件已经绑定了在代码中添加的两个组件

 5.给静态网格体赋予一个方块形状:

 6.将蓝图拖入视口中

 

        现在游戏一运行是第三人称角色模板的摄像机的镜头,那么如何改成让游戏一运行就显示与方块绑定的那个摄像机的镜头呢?

1.新建一个C++类

 2.选择 游戏模式基础

 3.命名为ugdcGameModeBase后,创建类

 打开后基本是一个空的游戏模式:

 4.新建一个蓝图去继承ugdcGameModeBase这个游戏模式:

命名为BP_MyPawnGameMode 

 

 双击打开BP_MyPawnGameMode 来更改游戏模式:

只需更改默认的Pawn类为BP_MyPawn:

 更改后记得编译

5.在世界场景设置中更改游戏覆盖模式为BP_MyPawnGameMode

 6.将场景中的第三人称角色模板中的小人移除,再把场景中的BP_MyPawn移除

7.加一个玩家出生点:

 运行游戏,发现在出生点出出现我们的主角——方块:

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud-31-Spring Cloud Config微服务与配置文件解耦

11.8 微服务与配置文件解耦 我们可以将之前的子模块中的配置提取出来&#xff0c;托管到gitee上统一管理&#xff0c;这样运维人员维护配置文件就不变动子模块了&#xff0c;实现了模块与配置的解耦。 下面用例子来解释下这种做法的好处 在基础工程spring-cloud-microservice…

热血江湖服务端架设开服搭建教程

热血江湖服务端架设开服搭建教程 玩网游比较多的小伙伴&#xff0c;相信对热血江湖这款游戏也不陌生&#xff0c;摆脱了传统武侠游戏阴暗血腥的游戏风格&#xff0c;提倡一种“明朗而愉快的武侠”精神。画面上即不会太随意又不会过于沉重&#xff0c;画面干净清新。活泼可爱的…

ORACLE新增数据库(用户),使用navicate

oracle新增数据库并不像mysql直接指令就行&#xff0c;百度一圈都是用Oracle Database Configuration Assistant的&#xff0c;其实navicate就直接可以新建&#xff0c;以下是新建方法&#xff1a; 1.连接数据库 2.新建表空间 点击navicate上方工具栏中"其它"&…

何为功能平价?特斯拉「抛弃」多传感融合,背后有哪些门道

技术与成本&#xff0c;永远是博弈的两方。 当大部分车企都在寻求通过增加更多、更高性能的传感器&#xff08;也就是通常所说的多传感融合技术&#xff09;来强化智能驾驶功能可靠性和拓展性的大背景下&#xff0c;特斯拉依然我行我素&#xff0c;继续沿着纯视觉感知的路线前…

盘点一个Python列表(元素多样)处理的实战题目(使用正则表达式也可以实现)

大家好,我是Python进阶者。 一、前言 前几天在Python白银交流群【凡人不烦人】问了一个Python列表处理的问题,提问截图如下:下面是他的部分数据: lst = [(问答题)(2) 假设镀锌钢管, http://admintk.sc.zzstep.com/UpLoadImage/2019-10-10/a84f340e-6c67-42b1-8eae-3dc14281…

队列的操作实验(数据结构)

队列的操作实验&#xff08;数据结构&#xff09; 一、实验目的 1&#xff0e;掌握队列存储结构的表示和实现方法。 2&#xff0e;掌握队列的入队和出队等基本操作的算法实现。 3&#xff0e;了解队列在解决实际问题中的简单应用。 二、实验内容 1&#xff0e;建立顺序循环队列…

【LeetCode】【二叉搜索树迭代器】

173. 二叉搜索树迭代器 实现一个二叉搜索树迭代器类BSTIterator &#xff0c;表示一个按中序遍历二叉搜索树&#xff08;BST&#xff09;的迭代器&#xff1a; BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象。BST 的根节点 root 会作为构造函数的一部分给出。指…

【优化充电】基于matlab粒子群算法电动汽车充电动态优化策略【含Matlab源码 2163期】

一、粒子群算法电动汽车充电优化 1 电动汽车充电负荷估算 电动汽车的充电负荷主要与电动汽车起始充电时刻和充电时长相关,而起始充电时刻是由电动汽车用户的到家时间决定的,充电时长主要与电动汽车的行驶里程和充电倍率相关。 目前电动汽车还没有大规模运营, 只能通过统计燃油…

ASP.NET Core微服务(六)——【.Net Core操作redis】StackExchange.Redis

ASP.NET Core微服务(六)——【.Net Core操作redis】StackExchange.Redis 目录 ASP.NET Core微服务(六)——【.Net Core操作redis】StackExchange.Redis 项目创建 StackExchange.Redis操作示例 引包【using StackExchange.Redis;】 ConnectionMultiplexer RedisDBHelper …

Git学习总结

目录&#xff1a; &#xff08;1&#xff09;版本控制 &#xff08;2&#xff09;Git和SVN的区别 &#xff08;3&#xff09;Git历史 &#xff08;4&#xff09;安装Git及环境配置 &#xff08;5&#xff09;常用的Linux命令 &#xff08;6&#xff09;Git的必要配置 &a…

PMO和PM如何实现从战略解码到项目执行的端到端闭环?

一、PMO的使命与职责 PMO的使命是提升端到端组织效能&#xff0c;赋能于精细化管理&#xff0c;成为企业的加速器&#xff0c;保障战略项目的交付。 那么PMO要保障战略的交付&#xff0c;核心职责有哪些呢&#xff1f; 二、组织为什么需要端到端项目管理&#xff1f; 核心价…

【ZooKeeper】ZooKeeper 应用场景

ZooKeeper 应用场景发布订阅命名服务集群管理分布式锁分布式队列管理负载均衡配置管理ZooKeeper&#xff1a;分布式协调服务&#xff0c;仲裁机构。基于ZNode数据模型和Watcher监听机制可以解决很多问题&#xff0c;比如分布式锁问题。 应用场景如下&#xff1a; 1、发布/订阅 …

servlet基础知识

早期的Web应用主要用于浏览新闻等静态页面&#xff0c;HTTP服务器&#xff08;比如 Apache、Nginx&#xff09;向浏览器返回静态 HTML&#xff0c;浏览器负责解析HTML&#xff0c;将结果呈现给用户。随着互联网的发展&#xff0c;还希望进行一些交互操作来获取动态结果&#xf…

Python Turtle绘图基础(一)——Turtle简介、绘图窗体与绘图区域

今天继续给大家介绍渗透测试相关知识&#xff0c;本文主要内容是Python Turtle绘图基础&#xff0c;包括Turtle简介、绘图窗体与绘图区域。 一、Turtle库简单介绍 Turtle库时Python语言的标准库&#xff08;所谓标准库&#xff0c;就是在安装Python时自带的库&#xff0c;与之…

【经典面试题-LeetCode69/剑指 Offer II 072:x 的平方根 (Python3实现)】

x 的平方根一、题目描述1.题目内容2.样例二、解决方案1.基本代码&#xff08;成功提交&#xff09;2.略微拓展一、题目描述 这是一道经典的面试题&#xff0c;需要我们在不使用任何内置函数的前提下&#xff0c;手动实现求指定整数的算术平方根。 1.题目内容 给你一个非负整数…

Android开发——底部导航栏设计

底部导航栏设计1.依赖配置2.tabbar的UI实现3.tabbar的逻辑绑定4.tabbar的滑动与点击联动其实,常见的Android和微信小程序一样&#xff0c;通常最下面一排需要有一排导航栏&#xff0c;可以通过点击导航栏图标和滑动实现页面跳转&#xff0c;具体实现使用的是Android的 ViewPage…

在MUI框架中对于事件绑定与取消和监听的触发自定义的深入运用与实战

事件绑定 除了使用addEventListener&#xff08;&#xff09;方法侦听特定元素上的事件外&#xff0c;还可以使用。on&#xff08;&#xff09;方法实现批元素的事件绑定。 event Type: String 需监听的事件名称&#xff0c;例如&#xff1a;‘tap’ selector Type: String 选择…

MySQL集群搭建——主从同步(一主二从)

一、安装MySQL数据库 Centos7安装MySQL5.7 目前准备了三台服务器作为主从配置数据库 #主 192.168.159.100:3306 #从 192.168.159.101:3306 #从 192.168.159.102:3306二、修改主数据库配置文件 vim /etc/my.cnf #在mysqld模块中添加如下配置信息 #开启二进制日志 log-binmast…

Win10家庭版利用Hyper-V虚拟机安装Kali Linux

目录 安装Hyper-V 批处理安装 重启电脑 下载Kali镜像 Kali官网下载 Hyper-V虚拟机 创建虚拟机 启动虚拟机 安装Kali 安装前配置 磁盘分区 系统安装 登录系统 近期学习网络安全的相关内容&#xff0c;需要用到很多的安全工具。偶然得知Kali Linux就是专门为网络安…

SD-WAN是面向分支机构的新兴、不断发展的解决方案

在过去的二十年里&#xff0c;人们的工作方式发生了很大变化。共享办公空间、移动性和云现在很常见。业务分散&#xff0c;分支机构得到授权。 当然&#xff0c;这个新功能是一件好事。但是&#xff0c;与此同时&#xff0c;它提出了一个巨大的挑战&#xff1a;多协议标签交换(…