UE5 c++ 常用方法

文章目录

创建一个组件

cpp 复制代码
capsule = CreateDefaultSubobject<UCapsuleComponent>(TEXT("Capsule"));

设置一个组件为根物体

cpp 复制代码
SetRootComponent(capsule);//参数,组件的指针

将一个组件设置为另一个组件的子物体

cpp 复制代码
birdMesh->SetupAttachment(GetRootComponent());//参数1 父组件的指针,参数2 父组件的插槽名,默认值为没有插槽

绑定一个按键

首先在项目设置/引擎/输入/轴输入 里添加一个输入

然后需要创建一个pawn类,这样才会有绑定输入的函数

创建一个和输入匹配的函数

cpp 复制代码
void ABird::MoveForward(float Value)//普通方法即可,不需要标记为UFUNCTION
{
	UE_LOG(LogTemp,Warning,TEXT("Value:%f"),Value);
}
// Called to bind functionality to input
void ABird::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)//pawn类自带的可以绑定输入的函数
{
	Super::SetupPlayerInputComponent(PlayerInputComponent);
	PlayerInputComponent ->BindAxis("MoveForward", this, &ABird::MoveForward);//绑定输入
}

玩家移动

//配合上方的输入方法

cpp 复制代码
void ABird::MoveForward(float Value)
{
	if ((Controller != nullptr)&&(Value!= 0.f) )//Controller 由 pawn提供
	{
		FVector Forward = GetActorForwardVector();
		AddMovementInput(Forward,Value);//pawn提供
	}
}

此外,还要求Pawn添加一个movementInput组件,pawn不自带这个组件

相关推荐
Fuyo_111925 分钟前
C++ 运行时多态与虚函数机制全面剖析【面试重点】
开发语言·c++·面试
w_zero_one1 小时前
递归算法(一)
java·开发语言·算法
SL_staff1 小时前
私有化低代码不是减配版开发:JVS双模式建模如何重建IT交付信任
java·低代码·spring cloud
墨着染霜华2 小时前
Redocly 生成 OpenAPI 接口文档踩坑实录|Node 版本兼容 + 接口地址错误问题解决
java
文丑颜不良啊2 小时前
LeetCode1881~1990题目解析
java·leetcode
Chen_harmony2 小时前
七、STL与string类
开发语言·c++
xxxiugou1233 小时前
C++命名空间与引用全解析
开发语言·c++
十碗饭吃不饱3 小时前
后端运维:网络联通、进程查询、Java服务启动脚本
java·运维·网络
T_Wizard3 小时前
后端转 AI 应用开发,我先把这 12 个名词理清了:一张图看懂架构、RAG、Tool Calling 与 MCP
java·ai编程
杨航 AI3 小时前
JEV的用法
java·前端·数据库