您现在的位置是:首页 >其他 >UE5使用Advanced-VR-Framework开发VR介绍网站首页其他
UE5使用Advanced-VR-Framework开发VR介绍
插件地址:https://www.unrealengine.com/marketplace/zh-CN/product/advanced-vr-framework
一、UE5开发VR的优势:
UE5在三维的表现力上非常优秀;有基于Twinmotion等三维工具支持,制作流程上比较顺畅;UE5场景素材也非常多且优质,VR技术框架也齐全。所以,UE5非常适合开发VR。
二、UE5开发VR有哪些插件:
- Advanced-VR-Framework
- VR Expansion Plugin : https://vreue4.com/
- VR-Interactive-Assembling
- VR Interaction Kit
- 官方创建 Games -> Virtual Reality 项目
- 官方提供的VR项目,5.2之前对HTC Vive兼容性不好,5.2后,进行了优化,是拿来学习VR开发的好案例;
- Advanced-VR-Framework,含有很多VR操作示例,功能比较完备,可用于商业开发;
- VR Expansion Plugin是完全免费的,首选免费VR插件;
- VR-Interactive-Assembling(一篇使用介绍),常用VR设备都兼容,可做简单VR项目。可以进行源码学习,有助于提高VR开发技术;
- VR Interaciton Kit是2023年刚出的插件,初步了解,功能齐全,可以作为替代Advanced-VR-Framework的商业插件。
- 另外还有兼容Oculus Quest的插件,一些单一功能的VR插件,不一一列举,作为UE5 VR开发者,可以多了解,取长补短。
三、Advanced-VR-Framework介绍
插件目前支持5.0,据插件论坛说法,接下会支持5.2
油管上有详细的教程:https://www.youtube.com/@humancodeable4753
Advanced-VR-Framework(简称AF)拥有很多案例演示,方便商用,案例在AFCore/Examples/Maps下:
1、Map_Example_Components:展示各种Compnent的用法
Open Component示例说明
-
AF往蓝图Actor里添加VR组件(Comp),实现VR操作
-
Comp组件常设置Tag的对象,来启动对应组件
-
示例点击右边控制按钮,启动门的动画
-
控制按钮主要设置Actors to Control来绑定门的启动
-
BP_Trigger_Button_Toggle里是如何启动Comp_Open的?
Comp是靠Compnent Bool Set和Component Trigger设置,来启动
-
注意:这里BP_Door不要点进蓝图BP_Door里,就在Outliner->Details(属性)里,看到Comp_Open组件
-
组件的Component Tags看到Door_OpenComp,两者对应绑定,进行触发
-
Comp_Open组件是设置OpenMap属性,设定Transforms各种属性的OpenValue与CloseValue,来实现Open与Close两种状态的动画。
-
Mesh_Door是BP_Door里的SM_Door的Tag,两者进行绑定;
Comp组件常用到Tag进行绑定,另外可以打开AFCore/Blueprints/Components蓝图,查看或修改Comp蓝图
- Switch Component:开关组件,开和关2种状态
- Open Component:从A运动到B,组件里设置2个状态的Transform的数据
- Comp Drag:拖动组件,通过绑定对象的0-max,设置2端位置,实现拖动
- Comp Name:拖动组件 + Name组件,拖动组件可以绑定SectionsSet,每个SnapValue绑定一个Identifier(名字);对应到Comp Name,通过更改名字触发,生成不同模型。
- Highlight Comp:高亮组件
- Trigger Comp:点击组件
- Snap Comp:BP_CogSystem通过Comp_Switch来触发转动,Comp_Anchor绑定BP_Cog,实现移动到此位置的动画
- Video Comp:触发视频播放
2、Map_Example_Controls:手柄为控制器的各种用法
- 支持切换多种手柄样式
VF有一个Bug。当使用Vive设备时,VR为默认手柄,导出后,材质会消失;原因可能是SteamVR的版本问题。考虑版本问题不可控制。需要修改VF框架,修复此问题。即开始时就是一下Vive材质手柄。
- 修改Bug需要改动2个蓝图:
> BP_MotionController_Controller
在Setup Controller Visuals depending on System and Hand Side模块中(ChangeControllerMesh事件),修改:
> SM_VivePreControllerMesh
修改MotionControllerRight和Left 2个地方,把Visualizaion修改
修改完毕后,再导出或运行的时候,会有默认的vive手柄了;若不是vive,可以不修改
> 如何切换手柄样式?
代码在Widget_Info_VR里,
先获得BP_Pawn_VR
使用Switch Controllers来更改类别脚本,分为手与手柄2种
手柄还要通过获取BP Motion Controller Controller,运行Change Controller Mesh来设置好手柄的模型
- Specator Mode:游客视角
- Mount Component : 镜头切换
通过激活Comp_Mount组件来切换视角位置;
可通过Spline组件,来实现按线路漫游视角;
Comp_Mount是非常好用的组件,但是有一个bug,就是2个Mount相互切换时会调出错误提示
修复思路:
问题出现在,要移动到新的Mount时,旧的Mount仍然要退出,造成问题。
当点击的时候,设置一个IfMountToMount的变量,来判断是否属于从一个Mount直接跳转到另一个Mount
- Orbit Component :只支持桌面模式,360度绕圈
除此之外,还有手势操作(抓,按,拉杆,旋转控制等),把物品安装到指定位置,场景加载,物品高亮等,不一一列举。
此插件功能齐全,目前就是等待升级到5.1-5.2版本了,原作者请加油呀~
上面对AF修改的补丁包下载:https://download.csdn.net/download/qq_17523181/87867944?spm=1001.2014.3001.5503