虚幻引擎5:增强输入的使用方法
一、基本配置
1.创建一个输入映射上下文(映射表)
2.创建自己需要的操作映射或者轴映射
3.创建完成之后进入这个映射,来设置类型,共有4个类型
1.Digital:是旧版操作映射类型,一般是按下抬起来使用,像跳跃,之类的
2.剩余三个都是轴映射类型,Axis1D:单向轴,一般是油门按键,摇杆之类的
3.Axis2D:有x,y两个方向,2D轴,一般是移动之类的
4.Axis3D:有x,y,z三个方向
4.将设置的映射添加至上下文中
1.操作映射的配置就添加个按键直接使用就好了
2.轴映射的配置
5.然后设置对应的按键。基本设置就完成了
二、使用方法
然后我这边选择使用C++来使用
1.在使用此配置的角色类中引入按键映射mapping
//头文件代码
UPROPERTY(EditAnywhere)//此标记可以在蓝图中导入映射资产
class UInputMappingContext*MappingContext;
UPROPERTY(EditAnywhere)
class UInputAction * JumpAction;//跳跃事件的action
UPROPERTY(EditAnywhere)
UInputAction * MoveAction;//移动事件的action
virtual void BeginPlay() override;
virtual void ALGPlayerCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
//轴映射移动绑定的函数,必须带有一下参数格式必须一致
void Move(const FInputActionValue& Value);//cpp文件代码
//按键操作一般在beginplay中执行
void ALGPlayerCharacter::BeginPlay()
{Super::BeginPlay();//判断一下资产是否添加,否则UE会崩溃if(MappingContext){//因为按键是在角色身上执行的,所以需要找到角色控制器if (APlayerController* PC = Cast<APlayerController>(GetController())){//通过角色控制找到增强输入子系统
UEnhancedInputLocalPlayerSubsystem*Subsystem=ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(PC->GetLocalPlayer());//将映射表添加至系统中Subsystem->AddMappingContext(MappingContext,0);}}
}void ALGPlayerCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{Super::SetupPlayerInputComponent(PlayerInputComponent);
//使用了增强输入后,旧的输入控件就无法使用,必须使用新的if(UEnhancedInputComponent*EnhancedInputComponent = Cast<UEnhancedInputComponent>(PlayerInputComponent)){//跳跃事件的绑定EnhancedInputComponent->BindAction(JumpAction,ETriggerEvent::Started,this,&ALGPlayerCharacter::DoJump);//移动事件的绑定EnhancedInputComponent->BindAction(MoveAction,ETriggerEvent::Triggered,this,&ALGPlayerCharacter::Move);}
}//绑定的移动事件
void ALGPlayerCharacter::Move(const FInputActionValue& Value)
{获取绑定事件给出的轴值FVector2D InputValue = Value.Get<FVector2D>();UE_LOG(LogTemp, Log, TEXT("ok%s"),*InputValue.ToString())//前后移动AddMovementInput(GetActorForwardVector(), InputValue.Y);//左右移动AddMovementInput(GetActorRightVector(), InputValue.X);
}
相关文章:

虚幻引擎5:增强输入的使用方法
一、基本配置 1.创建一个输入映射上下文(映射表) 2.创建自己需要的操作映射或者轴映射 3.创建完成之后进入这个映射,来设置类型,共有4个类型 1.Digital:是旧版操作映射类型,一般是按下抬起来使用,像跳跃…...

buffer overflow detected
背景 在应用上云改造中,业务场景如下: 在使用ecs的场景中,应用的ip都是固定的;在使用k8s之后pod的ip就变的不固定了,k8s提供了statefulset的模式来支持这种场景,以固定域名的方式支持。 问题 在平台pod开…...

【c++源码】老飞飞源码完整v15源码(包含数据库前端后端源文件)
老飞飞源码完整v15源码(包含数据库前端后端源文件)程序来源于国外网站。程序仅供参考学习游戏开发流程。以及框架内容。 测试环境搭建 Visual Studio 2013 SQL Server 2008r Windows 10 和 11 专业版 这些文件已经过测试,搭建,运行…...

MySQL创建数据库、创建表操作和用户权限
1、创建数据库school,字符集为utf8 2、在school数据库中创建Student和Score表 3、授权用户tom,密码Mysql123,能够从任何地方登录并管理数据库school 4、使用mysql客户端登录服务器,重置root密码...

时间序列分析基础篇
**时间序列分析(time series analysis)是量化投资中的一门基本技术。时间序列是指在一定时间内按时间顺序测量的某个变量的取值序列。**比如变量是股票价格,那么它随时间的变化就是一个时间序列;同样的,如果变量是股票…...

Idea JavaWeb项目,继承自HttpFilter的过滤器,启动Tomcat时部署工件出错
JDK版本:1.8 Tomcat版本:8.5 10-Oct-2023 13:55:17.586 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal One or more Filters failed to start. Full details will be found in the appropriate conta…...

02Maven核心程序的下载与settings.xml文件的配置,环境变量的配置
Maven核心程序的解压与配置 Maven的下载与解压 Maven官网下载安装包 将下载的Maven核心程序压缩包apache-maven-3.8.4-bin.zip解压到一个非中文且没有空格的目录 Maven的核心配置文件 在Maven的解压目录conf中我们需要配置Maven的核心配置文件settings.xml 配置本地仓库位置…...

栈实现深度优先搜索
引言 之前刚学DFS的时候并不完全理解为什么递归可以一直往下做,后来直到了递归的本质是栈,就想着能不能手写栈来代替递归呢。当时刚学,自己觉得水平不够就搁置了这个想法,今天上数据结构老师正好讲了栈的应用,其中就有…...

Java 基于SpringBoot的某家乡美食系统
1 简介 《Java 基于SpringBoot的某家乡美食系统》该项目含有源码、文档等资料、配套开发软件、软件安装教程等。系统功能完整,适合作为毕业设计、课程设计、数据库大作业学习使用。 功能介绍 这个项目是基于 SpringBoot和 Vue 开发的地方美食系统,包括…...
splice 和 slice 会改变原数组吗? 怎么删除数组最后一个元素?
1、splice 和 slice 会改变原数组吗? splice() 会改变原数组,返回的是改变的内容; splice() 方法可能是数组中的最强大的方法之一了,使用它的形式有很多种,它会向/从数组中添加/删除项目,然后返回被删除的项目。 该方…...

解锁互联网安全的新钥匙:JWT(JSON Web Token)
目录 前言 一、JWT简介 1. 什么是JWT? 编辑 2. JWT的工作原理 3.JWT如何工作的 4. JWT的优势 5. 在实际应用中使用JWT 6.传统Session和JWT认证的区别 6.1.session认证方式 6.2.JWT认证方式 7.基于Token的身份认证 与 基于服务器的身份认证 二、JWT的…...

alsa音频pcm设备之i2c调试
i2cdetect 列举 I2C bus i2cdetect -l ls /dev/i2c* 列出I2C bus i2c-7 上面连接的所有设备,并得到i2c设备地址 i2cdetect -y 7 发现i2c设备的位置显示为UU或表示设备地址的数值,UU表示设备在driver中被使用. I2cdump i2c设备大量register的值 i2cdump -y 7 0x40 I2cset设置…...

1. Windows平台下如何编译C++版本的Redis库hiredis
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并…...

Centos中利用自带的定时器Crontab_实现mysql数据库自动备份_linux中mysql自动备份脚本---Linux运维工作笔记056
这个经常需要,怕出问题因而需要经常备份数据库,可以利用centos自带的定时器,配合脚本实现自动备份. 1.首先查看一下,这个crontab服务有没有打开: 执行:ntsysv 可以看到已经开机自启动了. 注意这个操作界面,用鼠标不行,需要用,tab按键,直接tab到确定,或取消,然后按回车回到命…...

完美解决Android adb install 安装提示 INSTALL_FAILED_TEST_ONLY
完美解决Android adb install 安装提示 INSTALL_FAILED_TEST_ONLY 目录 所遇问题 有些时候我们用命令进行安装apk如下: adb install xxx.apk但是会安装不成功,报如下错误: 错误现象:提示:Failed to install app-d…...

[清华大学]漏洞挖掘之状态敏感的模糊测试StateFuzz
Dr.赵博栋 Prof.张超 清华大学 网络研究院 INSC 本文主要介绍了通过State Fuzz对Linux驱动程序进行模糊测试,该Fuzz方法由赵博栋博士在InForSec会议上分享,并在USENIX Security上发布.StateFuzz :System Call-Based State-Aware Linux Driver Fuzzing.该…...

嵌入式养成计划-40----C++菱形继承--虚继承--多态--模板--异常
九十四、菱形继承 94.1 概念 菱形继承又称为钻石继承,是由公共基类派生出多个中间子类,又由中间子类共同派生出汇聚子类,汇聚子类会得到多份中间子类从公共基类继承下来的数据成员,会造成空间浪费,没有必要。 所以存…...

C++入门指南:类和对象总结友元类笔记(下)
C入门指南:类和对象总结友元类笔记(下) 一、深度剖析构造函数1.1 构造函数体赋值1.2 初始化列表1.3 explicit关键字 二、static成员2.1 概念2.2 特性 三、友元3.1 友元函数3.2 友元类 四、 内部类4.1 概念4.2 特征 五、拷贝对象时的一些编译器优化六、深…...

ctfshow web入门 php特性 web136-web140
1.web136 还有一种写文件的命令时tee命令 payload: : ls /|tee 1 访问1下载查看文件1发现根目录下有flag cat /f149_15_h3r3|tee 2 访问下载查看文件22.web137 call_user_func <?php class myclass {static function say_hello(){echo "He…...

sshpass传输文件提示Host key verification failed.
1. sshpass功能简述 sshpass指令可用于A服务器向B服务器传输文件或执行某些指令。 2. 传输文件指令 基本传输命令:sshpass -p 远程服务器登录密码 scp 本地路径文件 远程服务器登录用户名远程服务器IP地址:远程服务器文件保存路径 示例: sshpass -p 1…...

国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...

AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...