UE5 VR版增强输入初体验 官方模板学习

问题

我们传统的输入方式,是通过编辑器设置输入操作映射,然后BindAction和BindAxis绑定

UE5 VR版增强输入初体验 官方模板学习_第1张图片

这边插播一条增强输入知识点,参考知乎大佬文章
和增强输入的VR模板教学:如何使用VR模板在UE5中使用增强输入系统_哔哩哔哩_bilibili

实践操作

我们进入VR模板,通过一个jump案例,了解使用规则,首先新建一个Input Action,命名IA_JUMP。

UE5 VR版增强输入初体验 官方模板学习_第2张图片

然后我们在IMC_Default新建映射Jump,设置输入按键时Oculus的Touch A按键

UE5 VR版增强输入初体验 官方模板学习_第3张图片

我们在VR_Pawn蓝图里发现设置Mapping Context的方法,Add Mapping Context包含了Priority设置了输入的优先级别,可以在适当时候屏蔽某些输入,例如打开背包是按键E,但是同时Pawn可以和门有互动动作,也是按键E,这时候设置优先级(0是最高优先级),进行输入屏蔽,确保我们打开背包时,开不了门。

UE5 VR版增强输入初体验 官方模板学习_第4张图片

InputAction方法包含了下面这些状态,具体可以参考虚幻文档虚幻引擎中的增强输入 | 虚幻引擎5.1文档 (unrealengine.com)

触发状态

触发状态(Trigger State) 表示动作的当前状态,例如 已开始(Started)进行中(Ongoing)已触发(Triggered)已完成(Completed)已取消(Canceled) 。通常,你将使用"已触发"状态。你可以绑定到C++和蓝图中的特定状态。

  • 已触发(Triggered): 动作已触发。这意味着它完成了所有触发器要求的求值。例如,"按下并松开"触发器会在用户松开按键时发送。

  • 已开始(Started): 发生了开始触发器求值的某个事件。例如,"双击"触发器的第一次按下将调用"已开始"状态一次。

  • 进行中(Ongoing): 触发器仍在进行处理。例如,当用户按下按钮时,在达到指定持续时间之前,"按住"动作处于进行中状态。根据触发器,此事件将在收到输入值之后对动作求值时触发每次更新。

  • 已完成(Completed): 触发器求值过程已完成。

  • 已取消(Canceled): 触发已取消。例如,"按住"动作还没触发之前,用户就松开了按钮。

在VrPawn蓝图中中进行蓝图连连看,输出一个jump started的bebug文本

UE5 VR版增强输入初体验 官方模板学习_第5张图片

我们需要确保IMC_Default在PMI_VRTemplate被设置,下图所示,右侧一排数字表示默认的优先级顺序。

UE5 VR版增强输入初体验 官方模板学习_第6张图片

倒数第二步,我们需要确保项目设置中,这些参数正确设置。
UE5 VR版增强输入初体验 官方模板学习_第7张图片

最后成功输出文本UE5 VR版增强输入初体验 官方模板学习_第8张图片

你可能感兴趣的:(ue5,vr,学习)