【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变量调整旋转速度,防止旋转过快。


相关推荐
HAPPY酷21 小时前
从Public到Private:UE5 C++类创建路径差异全解析
java·c++·ue5
Zik----1 天前
Unity基础学习笔记(B站视频课整理)
unity·vr
Axis tech3 天前
VTuber HanaX使用Xsens构建高质量虚拟生产工作流程
vr
星幻元宇VR3 天前
VR观景台推动安全科普走向沉浸体验
科技·学习·安全·vr·虚拟现实
光锥智能4 天前
NVIDIA 发布 Nemotron 3 Nano Omni 模型
vr
星幻元宇VR4 天前
VR单人地震体验平台助力防灾减灾教育
科技·学习·安全·vr·虚拟现实
1204157137 肖哥4 天前
UE5.7 Procedural Vegetation分析
ue5
半天法师4 天前
Bug 记录:UE 结构体转 JSON 时 Key 字段大小写异常 (Editor 与打包后表现不一致)
ai·ue5·json·bug
星幻元宇VR4 天前
VR自行车骑行模拟系统|让交通安全教育“骑”进现实
科技·学习·安全·vr
邪修king4 天前
UE5 零基础入门第四弹:UMG UI 系统入门,从静态界面到逻辑联动
c++·ui·ue5