UE5C++学习(一)--- 增强输入系统

这篇具有很好参考价值的文章主要介绍了UE5C++学习(一)--- 增强输入系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、关于增强输入系统的介绍

增强输入系统官方文档介绍

二、增强输入系统的具体使用

注:在使用方面,不会介绍如何创建项目等基础操作,如果还没有UE的使用基础,可以参考一下我之前UE4的文章,操作差别不会很大。

UE5C++学习(一)--- 增强输入系统,UE5C++,ue5,学习,虚幻

如上图所示,在自己创建好的项目工程中,找到.Build.cs文件,在添加的模块引用中,添加EnhancedInput模块,添加这个模块之后,才能在写完增强输入系统的代码后正确运行。

UE5C++学习(一)--- 增强输入系统,UE5C++,ue5,学习,虚幻

代码:

//输入映射
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Input", meta = (AllowPrivateAccess = "true"))
	class UInputMappingContext* DefaultMappingContext;
//移动
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Input", meta = (AllowPrivateAccess = "true"))
	class UInputAction* MoveAction;
//上下左右看
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Input", meta = (AllowPrivateAccess = "true"))
	class UInputAction* LookAction;

在我们创建完成的角色类中添加必要的组件,比如摄像机臂组件和摄像机组件。UInputMappingContext是用来引用操作上下文,而UInputAction对应某个具体的操作,比如我们的WASD前后左右移动,鼠标轴挥动去上下左右看,当我们的Action创建完成之后,去放到操作上下文中去映射,这个时候我们的输入便被绑定到角色中。

UE5C++学习(一)--- 增强输入系统,UE5C++,ue5,学习,虚幻

代码:

UEnhancedInputComponent* EnhancedInputComponent = CastChecked<UEnhancedInputComponent>(PlayerInputComponent);
if (EnhancedInputComponent && MoveAction && LookAction)
{
	EnhancedInputComponent->BindAction(MoveAction, ETriggerEvent::Triggered,this,&ASCharacter::Move);

	EnhancedInputComponent->BindAction(LookAction, ETriggerEvent::Triggered, this, &ASCharacter::Look);

}

在角色输入绑定函数中,用增强输入组件去绑定Action,之后输入操作按键便会执行对应的操作。

对于ETriggerEvent,在引擎源代码中有相应的介绍,有按键按下,一直按住,松开时的处理,会比UE4的输入更加详细。

UE5C++学习(一)--- 增强输入系统,UE5C++,ue5,学习,虚幻

在Move和Look的函数中,处理角色移动和上下左右看。

Move代码:

    FVector2D MovementVector = Value.Get<FVector2D>();
    if (Controller)
	{
		 const FRotator ControlRotation = Controller->GetControlRotation();
		 const FRotator YawRotation = FRotator(0.0f,ControlRotation.Yaw,0.0f);

		 const FVector ForawrdDirection = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::X);
		 const FVector RightDirection = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::Y);

		 AddMovementInput(ForawrdDirection,MovementVector.Y);
		 AddMovementInput(RightDirection, MovementVector.X);
	}

Look代码:

    FVector2D LookVector = Value.Get<FVector2D>();
	if (Controller)
	{
		AddControllerYawInput(LookVector.X);
		AddControllerPitchInput(LookVector.Y);
	}

以上处理完成之后,需要在游戏运行的时候,添加增强输入系统的映射。

    APlayerController* PlayerController = Cast<APlayerController>(Controller);
	UEnhancedInputLocalPlayerSubsystem* EnhancedInputSystem = 
		ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(PlayerController->GetLocalPlayer());
	if (EnhancedInputSystem && DefaultMappingContext)
	{
		EnhancedInputSystem->AddMappingContext(DefaultMappingContext,0);
	}

这个时候,回到引擎中,去创建一个输入映射和move、look的Action。

UE5C++学习(一)--- 增强输入系统,UE5C++,ue5,学习,虚幻

在移动和上下左右看的Action中,添加需要操作的按键。

UE5C++学习(一)--- 增强输入系统,UE5C++,ue5,学习,虚幻

UE5C++学习(一)--- 增强输入系统,UE5C++,ue5,学习,虚幻

MappingContext中绑定,注意方向输入:

UE5C++学习(一)--- 增强输入系统,UE5C++,ue5,学习,虚幻UE5C++学习(一)--- 增强输入系统,UE5C++,ue5,学习,虚幻

注意在角色蓝图中去选择创建的输入和映射。

UE5C++学习(一)--- 增强输入系统,UE5C++,ue5,学习,虚幻文章来源地址https://www.toymoban.com/news/detail-745758.html

到了这里,关于UE5C++学习(一)--- 增强输入系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【虚幻引擎】UE4/UE5插件

    Blank:空白插件,可以从头开始自己定义想要的插件风格和内容,用此模板创建的插件不会有注册或者菜单输入。 BlueprintLibrary:创建一个含有蓝图函数库的插件,此模板函数都是静态全局函数,可以在蓝图中直接调用。 ContentOnly:创建一个只包含内容的空白文件 Editor Toolba

    2024年02月05日
    浏览(75)
  • ue5,ue4(虚幻5)安卓触摸

    这个是单方向的,如果要用双方向的,就是 x和y同时运用的话建议用向量2d(变量),把它分割成x和y就可以了,我门平时在网上见到的触摸都是:按下到连续,我这个方法是按下-连续-停止,记住,y的变量要是负数,还有就是,灵敏度调大的时候,屏幕会跳动,由于x和y的屏

    2024年02月11日
    浏览(81)
  • 【虚幻引擎UE】UE4/UE5 新人科普向

    Unreal Engine是当前最为流行的游戏引擎之一,具有丰富的游戏开发功能和强大的游戏引擎渲染能力。 UE5官方文档:UE5官方文档非常详细,介绍了UE5的各个功能和应用,适合入门学习和深入探究。链接:https://docs.unrealengine.com/5.1/zh-CN/ UE5中文社区:该社区聚集了大量的UE5开发者,

    2024年02月09日
    浏览(79)
  • 【虚幻引擎】UE4/UE5 pak挂载

     找到:D:UEUE_4.27EngineBinariesWin64,  WindowS+R打开CMD命令 运行UnrealPak,运行结果如下      注意如果想要加载Pak内资源,那么这些资源必须是经过Cook的。如果打包的是未Cook的资源,那么即使Pak挂载成功,也不可能会成功加载Pak内资源。  Cook好之后,存储的路径在你的I:DBJ

    2024年02月10日
    浏览(75)
  • [虚幻引擎][UE][UE5]控制多个pawn之间切换

    缺点:无法使用碰撞了,模型会穿模

    2024年02月13日
    浏览(53)
  • 【虚幻引擎UE】UE5 UI三种使用模式

    蓝图创建控件并添加到视口 场景中的显示效果: 1、创建Actor,放入用户控件,并将Actor拖入场景。 这种模式默认无法进行交互,但可播放动画。 1、在二的基础上,添加虚拟控件交互组件到角色身上。 2、在角色蓝图里加上:

    2023年04月10日
    浏览(63)
  • [虚幻引擎][UE][UE5]像素流送(Pixel Streaming),像素流去掉黑边和按钮[UE5.1.0],鼠标控制

    2022.11.19初次更新 俺是不是很粗长!老仔细了,全是截图,不废话,就是上图干! 有问题联系我Q2052818810 演示截图 视频教程 B站:https://www.bilibili.com/video/BV1QG4y147Ph/?vd_source=66cbd63fde4c65b240eb0e62eaa801e2 Youtube:https://youtu.be/MiiLR9PElrs 01.UE(UE5.0.3/UE5.1.0,开始是5.0.3版本,之后是5.1.0版

    2024年02月02日
    浏览(81)
  • 【虚幻引擎】UE4/UE5科大讯飞文字合成语音

    B站视频链接:https://space.bilibili.com/449549424?spm_id_from=333.1007.0.0   第一步:首先进入讯飞开放平台注册一个账号,然后创建一个 创建一个应用,命名按照你自己的想法来,会产生一个APPID,具体参考UE4如何接入科大讯飞的语音识别_ue4 科大讯飞的语音识别_飞起的猪的博客-CSDN博

    2024年02月13日
    浏览(72)
  • unrealengine(UE5)虚幻引擎下载安装

    早就听说功能强大的UE4游戏引擎,今天终于可以开始学习UE4了,还是有点点小激动哈,兄弟萌撸起来。。。。。。 UE4官网 进入ue5官网,现在是ue5版本了,首先需要先注册,才能下载ue4安装器 首先安装上一步的ue5下载器,安装完成后会自动弹出登录页面 点击“虚幻引擎”来安

    2024年02月12日
    浏览(72)
  • UE5的项目建立及UE5(虚幻引擎5)个人视角移动按键操作及运行项目/day.2

    进入UE5的界面就是这样: 由于我们是刚下载的,“最近打开的项目”是没有项目打开的所以我们需要新建一个新的项目。 注意,项目位置最好是英文的,否则可能会出错。(可能不会,毕竟很多人都说有可能有BUG,小心为好)。 初学者的话选择蓝图编程(毕竟蓝图编程比较

    2024年02月15日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包