【UE5】- VR小技巧 :用PC处理代替频繁使用VR头显开发

目录

效果演示:

前言

解决办法:

1.创建子类Pawn

2.设置pawn的摄像机以及手柄参数

3.设置增强输入

[3.1 移动操作](#3.1 移动操作)

[3.2 旋转操作](#3.2 旋转操作)

[3.3 按键交互操作](#3.3 按键交互操作)

4.操作实现


效果演示:

前言

在VR开发过程中,频繁的功能测试和效果优化往往需要我们反复穿戴头显设备。每当在PC端完成调整后,都必须重新佩戴设备 进行验证,这种重复操作不仅严重拖慢开发进度,还常常因设备待机而面临重新设置安全边界的繁琐流程。

可以将这一验证流程移至PC端执行,采用"选中窗口"模式进行测试,无需依赖"VR预览"使用VR头显设备验证。

请确保在操作前已完成以下准备工作:

  1. 成功实现VR设备串流
  2. 在工程中正确配置增强输入系统
  3. 确保VR设备及手柄能正常执行旋转、移动、抓握等功能。

解决办法:

1.创建子类Pawn

在面向对象编程中,继承是一种极为重要且核心的特性,它允许一个类(通常称为子类或派生类)基于另一个类(通常称作父类或基类)来创建,从而实现代码的重用与扩展。通过继承,子类不仅可以自动拥有父类中定义的属性和方法,还能够在不修改原有代码的基础上添加新的功能或对已有功能进行修改。这里采用继承的方法,不过多赘述。

需要说明的是,本项目使用VRE插件进行开发,实现方式与官方示例略有不同。但解决思路是一样的。

在实现方式上,我采用了character类作为基础,并在此基础上创建了相应的子类。(为了统一说明,之后都用pawn来代替)在PC端调试时可直接使用该子类,基于继承机制的特性,对子类的修改不会影响父类原有功能的正常运行。

2.设置pawn的摄像机以及手柄参数

关闭摄像机的头显控制以及打开pawn控制旋转:

调整摄像机以及左右手柄的位置,需要手柄时刻出现在摄像机的视野中:

3.设置增强输入

3.1 移动操作

左手手柄摇杆已配置移动轴映射,PC端方向移动将通过"WASD"键控制,具体设置参照下图示例。

3.2 旋转操作

在VR预览模式下,游戏转向通过头显的转向控制实现,因此VR按键中没有对应的输入按键。而在PC端,转向由鼠标控制。为此,需要新增一个输入控制来专门管理转向操作。

3.3 按键交互操作

4.操作实现

当前摄像机、左右手柄属于同级组件。正常情况下,摄像机移动时手柄应该保持在画面范围内,因此需要将手柄置于摄像机组件之下。但由于Character是继承类,无法直接调整组件层级排序,所以需要通过蓝图中的"将组件附加到组件"功能来实现重新排序。

VR场景中某些手柄需每帧追踪头显位置,需消除其对tick的依赖关系:

添加鼠标控制Pitch和Yaw旋转的功能,并使用一个float变量调整旋转速度,防止旋转过快。


相关推荐
清泓y1 天前
UE 物理系统知识分享
面试·ue5·游戏程序
清泓y2 天前
UE移动开发技术面试题
android·面试·ue5·ue4·游戏程序
清泓y2 天前
UE基础知识与引擎架构面试题
面试·架构·ue5·ue4·游戏程序
mengzhi啊3 天前
UE5关卡切换 传统加载(阻塞)vs流式加载(非阻塞)。还有加载关卡3种办法
ue5
chaoyuanl4 天前
超元力XR黑暗乘骑
科技·xr·vr·娱乐·mr
电子云与长程纠缠4 天前
UE中使用TGuardValue与TInlineComponentArray数据结构
开发语言·数据结构·学习·ue5·游戏引擎
Duo1J5 天前
【UE】Slate 编辑器工具开发03 - 节点编辑器 (EdGraph)
ue5·编辑器·游戏引擎·ue4
directx3d_beginner6 天前
26,怪物受击接口改为C++
ue5
搞科研的小刘选手7 天前
【桂林电子科技大学、湖南第一师范学院、长沙师范学院支持】第三届虚拟现实、图像和信号处理国际学术会议(VRISP 2026)
信号处理·图像·虚拟现实·学术会议·会议推荐
chaoyuanl8 天前
适配购物中心的优质 XR 游乐项目推荐
大数据·人工智能·科技·xr·vr