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


相关推荐
mtouch33315 小时前
技术解析|无人机倾斜摄影3D模型全天候动态光照融合方案
人工智能·无人机·虚拟现实·电子沙盘·数字沙盘·无人机倾斜摄影
曼巴UE58 天前
UE5 客户端 需要的网络同步概念总结(3 )-事件同步 RPC 以及三种调用方式
网络·c++·网络协议·学习·rpc·ue5
归真仙人10 天前
【UE项目迁移银河麒麟(Linux)局域网会话搜索失败排查】
ue5·ue4·vr·unreal engine·银河麒麟
fanfan_hongyun12 天前
UE5.1 应用InWebSocketClient-main 接收websocket信息
ue5
远离UE412 天前
Chaos、WFC 与 FJA 原理与区别笔记
ue5
平行云13 天前
3D应用推流太贵太慢?ImmerShare Lite:利用本地算力实现极简一键分享
unity·ue5·实时云渲染·云桌面·像素流·云游戏·串流
fanfan_hongyun13 天前
UE5.1 VaRest插件 读取json http请求
ue5
SpiderCodeJ14 天前
【UE5】- UE MCP :在UE5.8编辑器中内置链接Codex
ue5·codex·智能体·mcp
工业HMI实战笔记17 天前
造纸行业HMI:纸机的卷取控制与质量监控界面
人工智能·交互·vr
Jmyd012317 天前
虚拟仿真实训实验室技术栈拆解:采集、创编到云展如何打通
虚拟现实·虚拟仿真·虚拟实训·虚拟仿真实训课件