UE5使用Advanced-VR-Framework开发VR介绍

news2024/11/24 1:22:37

插件地址:https://www.unrealengine.com/marketplace/zh-CN/product/advanced-vr-framework

一、UE5开发VR的优势:

UE5在三维的表现力上非常优秀;有基于Twinmotion等三维工具支持,制作流程上比较顺畅;UE5场景素材也非常多且优质,VR技术框架也齐全。所以,UE5非常适合开发VR。


二、UE5开发VR有哪些插件:

  1. Advanced-VR-Framework
  2. VR Expansion Plugin : https://vreue4.com/
  3. VR-Interactive-Assembling
  4. VR Interaction Kit
  5. 官方创建 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/615106.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

W13电力线载波通信技术

CK_Label_W13 CK_Label_W13(外接供电版) 产品型号 CK_Label_W13 尺寸 70*34.7*13.6mm 屏幕尺寸 2.1 inch 分辨率 250*122 像素密度 130dpi 显示技术 电子墨水屏显示 显示颜色 黑/白 外观颜色 白色 按键 1 指示灯 1 RGB灯 灯光颜…

Vue.js 中的混入是什么?如何使用混入?

Vue.js 中的混入是什么?如何使用混入? 在 Vue.js 中,混入(Mixin)是一种可复用的对象,可以包含任意组件选项。通过混入,我们可以将一些相同的代码逻辑抽离出来,使组件更加简洁和可维…

录音如何转换成mp3格式

录音怎如何转换成mp3格式?因为我们知道录音的格式有很多种,其中常见的有WAV格式(Waveform Audio File Format):是一种无损音频文件格式,音质高保真,通常用于专业录音和音乐制作。WMA格式&#x…

qt三个窗口基本类

qt是一个gui框架,做图形用户界面的,本地可以跑,跟一些web框架那种做好点击网址跳转的不一样,python的web常用的flask和django,python也有gui框架比如pytqt和tkinter,这个专栏讲qt5,用c写gui qt…

WOWWEE ROVIO小车改造思路

23年5月接触到这个车,大约是07年的玩具,初看到外观,真的是惊艳,三爪着地,长长的脖子,有些科幻电影中外星生物的味道。这个ID设计,放到今天,也是能镇住国内一众玩具厂商的。惊讶之余&…

浅谈 ByteHouse Projection 优化实践

预聚合是 OLAP 系统中常用的一种优化手段,在通过在加载数据时就进行部分聚合计算,生成聚合后的中间表或视图,从而在查询时直接使用这些预先计算好的聚合结果,提高查询性能,实现这种预聚合方法大多都使用物化视图来实现…

基于javaweb jsp+SSM 简易版教务管理系统的设计与实现

目录 一.项目介绍 二.环境需要 三.技术栈 四.使用说明 五. 运行截图 六. 视频演示 一.项目介绍 本系统分为管理员、老师、学生三类 管理员:维护课程信息、维护老师信息、维护学生信息、密码重置(其他账户)、修改密码、退出系统 老…

macOS Sonoma 14.0 Beta 1 (23A5257q) ISO、IPSW、PKG 下载

macOS Sonoma 14.0 Beta 1 (23A5257q) ISO、IPSW、PKG 下载 本站下载的 macOS 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装。另外也支持在 Windows 和 Li…

JVM暂时私有

Jvm: 一、类加载器分类 引导类加载器:BootStrapClassLoader(出于安全考虑,Bootstrap启动类加载器只加载包名为java、javax、sun等开头的类)自定义类加载器:Extension ClassLoader AppClassLoader (Tomcat也…

DBeaver 23.0.5发布

导读SQL 编辑器是一款功能强大的数据库管理工具,为用户提供了便捷的 SQL 编写和编辑功能。最近,该编辑器进行了多项更新,提升了使用体验。 首先,WHERE 和 SELECT 等自动完成功能现在显示与别名表的别名。用户可以使用键盘快捷键或…

https通信加密原理

为什么要用https HTTP 由于是超文本传输协议,是一个简单的请求-响应协议,它通常运行在TCP之上,它是明文传输,不能保证数据的完整性,不能保证是否被窃听,不能保证数据是否被篡改 https采用了一些加解密&am…

安装银河麒麟操作系统

文章目录 一、安装银河麒麟操作系统1.1、简介1.2、银河麒麟高级服务器操作系统V101.3、下载银河麒麟镜像1.4、安装银河麒麟操作系统兼容版 一、安装银河麒麟操作系统 1.1、简介 银河麒麟(KylinOS)原是在863计划和国家核高基科技重大专项支持下&#xf…

HFish蜜罐部署教程(windows版)—HW蓝队主动防御利器

文章目录 前言基础环境蜜罐部署管理端部署添加节点&开启服务 攻击展示端口扫描测试目录扫描测试POC测试 && ssh测试失陷测试 酷炫大屏后记Tips 前言 一年一度的HW马上又要来了,【不过听说今年推迟了一些】 ,各位师傅应该都按耐不住了&#…

Tcl-12. 数组

TCL支持通过数组的形式存储多个元素。 Tcl中的数组和其他高级语言的数组有些不同:Tcl 数组元素的索引,或称键值,可以是任意的字符串,而且其本身没有所谓多维数组的概念。数组的存取速度要比列表有优势,数组在内部使用散…

从理论上理解SQL注入、XSS、中间件解析漏洞、挖矿马

目录 1、SQL注入 (1)原理 (2)分类 (3)防御 2、XSS (1)原理 (2)分类 3、中间件(解析漏洞) (1)IIS6.X …

JDK安装教程

jdk 链接:https://pan.baidu.com/s/1xAFaR7AQdy_hPVFHc1CVnA 提取码:cypz 环境配置 1、我的电脑–》右键属性–》高级系统设置–》环境变量 2、系统变量–》新建系统变量–》完成后点击确定 变量名:JAVA_HOME 变量值:&#xff0…

chatgpt赋能python:Python中的分词技术及其应用

Python中的分词技术及其应用 什么是分词? 分词是自然语言处理(Natural Language Processing,NLP)中的一个重要环节,指将一段文本切分成若干个单词或词组。在中文分词中,由于中文没有明显的词汇边界&#…

进入IT领域,多久能月入过万?

当下打拼的很多人都有这样的困惑:刚毕业或者工作时间不长,也有一些基本技能,对未来有美好憧憬,一身干劲,却拿着微薄的薪水过着捉襟见肘的生活。 有些同龄人进入IT领域后快速升职加薪,观望者经常会问&#…

C++设计模式之生成器模式(Builder)

文章目录 定义前言1. 问题2. 解决方案 结构适用场景实现方法优点缺点与其他模式的关系实例 定义 生成器是一种创建型设计模式,使你能够分步骤创建复杂对象。该模式允许你使用相同的创建 代码生成不同类型和形式的对象。 前言 1. 问题 假设有这样一个复杂对象&a…

100种思维模型之事物关系思维模型-72

具体的事物是形象的、容易观察和理解的,而事物间的关系则容易让人忽视,乃至无法意识到它正在发生作用。 生活中,我们习惯于低估事物关系的影响。 事物关系思维模型一个提醒我们关注事物关系、从宏观层面找到更好的工作方向、实现可持续发展的…