UE5在VR中构建菜单和交互
本例基于UE5.4
1. 创建或添加VR(虚拟现实)项目
2. 创建用户界面
1). 创建用户控件
创建用户控件,起名为WD_MainMenu
2). 在用户界面上添加控件
根据业务需要,添加背景图和按钮,并对按钮添加点击事件
比如添加退出事件
3. 在关卡中放置用户界面
1). 创建基于Actor的蓝图类
在内容浏览器右键,新建蓝图类,并创建基于Actor的蓝图类M_Menu
2). 在蓝图类中创建Widget
双击打开蓝图类,并添加Widget
3). widget中选择控件类
选中Widget,在详细面板中设置控件类为用户控件WD_MainMenu
调整大小,并将碰撞预设改为Custom
4). 添加蓝图
将蓝图类M_Menu拖入到关卡中,设置好位置旋转和缩放
注意:默认拖入后,需要在Z轴旋转180度。
4. 创建手柄交互
1). 在VRPawn添加控件交互子类
在内容浏览器中,打开进入到VRTemplate->Blueprints下,双击打开VRPawn视口
分别在MotionControllerLeftAim和MotionControllerRightAim下创建控件交互子类
2). 设置控件交互子类参数
分别选中刚才创建控件交互子类,在细节面板进行设置:
其中:
交互下的:
Pointer Index是pointer的索引号,左右手分别设置0和1
Trace Channel 改为 WorldDynamic
Interaction Distance 手柄光束的距离
调试下的Show Debug 是否显示手柄光束
高级下的Debug Line Thickness 是手柄光束的粗度
Debug Color 是手柄光束的颜色,可以设置一手绿色一手为红色
运行如下图:
但是由于未添加轴映射,暂不能响应用户控件事件。
5. 创建手柄映射
1). 创建输入操作
在内容浏览器中,进入VRTemplate->Input->Actions,添加输入操作
创建IA_Left和IA_Right:
2). 添加映射键轴
进入到上一层VRTemplate->Input,双击打开IMC_Default
分别在映射,添加IA_Left和IA_Right
分别在映射IA_Left和IA_Right下,根据手柄型号添加扳机键轴
3). 添加映射事件
进入到VRPawn的事件图表中,右键创建EnhancedInputAction IA_Left和EnhancedInputAction IA_Right事件
并将与创建的控件交互子类进行鼠标模拟
左手与右手相同
以上,运行后就可以点击手柄并触发菜单上的事件

























