实战分享1:如何使用华为VR Glass 6dof 基于 OpenXR@ unity 开发VR游戏/应用

目录

1 环境准备

2 使用OpenXR + XR Interaction Toolkit

2.1 工程准备

2.1.1 安装openxr相关插件

2.1.2 配置工程

2.1.3 Debugger -XR Interaction Debugger

2.2 场景搭建

2.2.1 头部显示和位姿追踪测试

2.2.2 加入双手柄交互(6dof)

2.2.3 结果验证

2.3 编译出exe文件,运行

小结:


1 环境准备

硬件条件:

  1. 一台VR READY的PC或者笔记本电脑;
  2. 一套华为VR Glass 6dof (含VR Glass,6dof 游戏套件(2手柄,1 头部定位器,1 散热背夹));
  3. 1根PC VR链接线缆(可选),可以直接使用的是VR Glass 自带的1.2米长 C2C线缆;

如下图,环境非常简单:(荣耀猎人V700 + 华为VR Glass 6dof )

软件条件:

  1. Unity 2020 LTS或以上
  2. SteamVR 1.21.8或以上

VR Glass 6dof 可以正常运行steamVR平台游戏内容;

使用OpenXR + XR Interaction Toolkit

首先这里啰嗦一下,当前使用untiy + openxr标准进行VR游戏/应用开发,其实依赖的主要是使用XR plug-in architecture. 以及 XR Interaction Toolkit。

       基于这套架构,很大程度上可以实现VR应用开发与VR硬件/VR runtime 实现解耦。真正做到一套代码,支持跨平台运行。

OpenXR Plugin | OpenXR Plugin | 1.3.1

OpenXR is a plug-in in Unity's XR plug-in architecture.

Unity recommends using the XR Interaction Toolkit for input and interactions.

由于华为VR Glass 6dof 已正式支持steamVR平台,而Steam平台 runtime 已经支持了openxr 标准;

2.1 工程准备

新建3D demo场景,工程设定为PC

2.1.1 安装openxr相关插件

Window-》Package Manager

安装 XR Plugin Management 和 XR Interaction Toolkit,OpenXR plugin 三个插件

在安装XR Interaction Toolkit后,会弹出 如下 warning,直接选择YES

以下 选择 Go Ahead.

2.1.2 配置工程

File->Build Settings->Player Settings - XR Plug-in Management

勾选OpenXR,

点击 感叹号,提醒增加至少1个 interaction profile文件;

点击edit,此时进入openxr相关的feature设置,选择 OculusTouch Controller profile(华为VR Glass 6dof 手柄和OculusTouch 手柄在按键布局上几乎一致)

下一步就可以使用XR Interaction Debugger 来实际检查 头,左右手柄的追踪和按键是否正常;

2.1.3 Debugger -XR Interaction Debugger

The XR Interaction Toolkit Debugger window displays a top-down view of all the Input Devices, Interactables, and Interactors in a Scene. It also displays their relationship to each other and their parent Interaction Managers. To open this window, go to Window > Analysis > XR Interaction Debugger from Unity's main menu.

此时发现是空的;是因为没有点击play;

点击play;此时可以发现,steamVR已经启动,头显,左右手柄的追踪,按键等都可以追踪起来;

在device 下,当移动头显或者手柄的时候,会发现device Position/device rotation 都是动态发生变化的;当触控按键的时候,也会有变化。

进行到这一步基本的工程配置准备工作就算完成了;

结果:通过openxr 以及 XR Interaction Toolkit ,以及debugger 工具,可以发现头部位姿,左右手柄位姿,按键等工作正常。

注意:因为此时还没有在场景中增加XR RIG,此时VR头盔中的画面是不正常的,可以不用管。

2.2 场景搭建

2.2.1 头部显示和位姿追踪测试

创建XR RIG,选择XR->XR Origin(Action-based)

点击play,此时VR头显中显示已经正常了,头部6dof位姿也正常,但是手柄追踪是没有的,

因为:发现左右手柄的配置(position 和rotation等)都是空的。如下图

2.2.2 加入双手柄交互(6dof)

为了方便加入6dof手柄相关的组件,需要做一个准备工作,导入一个Assets

XR Interaction Toolkit –>Starter Assets

点击import;

此时在Assets-> XR Interaction Toolkit,已经有了Starter Assets;

下一步进行配置工作,将上面导入的Assets 中的左,右手柄的preset 设置为default;

将XRI Default Left Controller(preset)和XRI Default Right Controller(preset) 分别

Add to ActionBasedController default;

同时在preset manager 中,增加filter如下信息,达到自动关联的目的;

这样在后续创建XR RIG的时候,左右手柄对象都会通过此preset自动关联,无需挨个配置,大大节省了工作量。

File->Preset Manager

如下所示,分别输入关键字 right和left,分别对应XRI Default Left Controller和XRI Default Right Controller;

此时相关的配置准备工作已经大功告成,可以增加XR RIG进行测试了;

需要删除掉原先创建的XR RIG,重新创建XR RIG;

创建XR RIG,选择XR->XR Origin(Action-based)

可以发现创建好的LeftHand Controller 和 RightHand Controller ,均已经有正确的reference;如下:

在XR RIG中增加input action manager.

XR Origin->Add Component->input action manager.

此时 Action Assets 是空的;需要增加XRI Default Input Actions

Action assets

增加一个 element0,将assets 中的 Samples的 XRI Default input actions 组件拖入到里面:

关联 XRI Default input actions

增加成功后的结果如下:

2.2.3 结果验证

点击play:

结果:在华为VR Glass 6dof 设备上,画面渲染正常,头部6dof位姿正常,steamvr启动正常; 此时手柄追踪正常,同时还有射线;

下一步可以增加更多的 功能,

  1. 比如替换手柄模型,动画;
  2. 增加可以交互的物体,实现抓取等;

2.3 编译出exe文件,运行

直接编译出exe文件,可以独立运行。

小结:

  1. 由于是使用openxr标准,因而基于这一工程,无需在场景或者XR RIG上做任何的改动,可以跨平台(PC,VR一体机(各类品牌));真正做到了一套代码,支持跨平台运行。
  2. 基于PC VR,打出的运行包,基本上可以兼容市面上几乎所有的PC VR头显。
  3. VR一体机方面:只需直接在工程building设置中选择Android,并选择openxr,quest,直接编译出可以Android包,在quest上也是可以运行的,其他方面无需做设置;相信将来更多VR一体机可以支持openxr。
  4. 当然了华为VR Engine 当前已经支持openxr了,只是目前是支持native的,开发有一定的门槛,还未与untiy,unreal等引擎对接,相信不久就会支持起来。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用微软云人工智能,合成带感情的语音

以前公司下达了一个需求,要求用语音做广播,因为广播里面包含姓名,所以不能难以直接录制,需要使用合成语音。 一开始考虑到时间以及优先级问题,这边使用了百度的合成语音。 但是百度语音相对僵硬,而且没有…

Unity关于Oculus Quest2 入门开发:(三)基于XR Interaction Toolkit0.10.0开发交互功能之传送篇

说书人:“古语云:千里之行始于足下。“跑”,至关重要啊!…" 路人甲:“呵呵…” 皮一下很开心,哈哈,勿笑勿笑。。。 今天我们谈谈”跑“,无论是HTC Vive还是Oculus&#xff0c…

unity +vive(设备)+steam vr(软件)(第二天)

开始新的冒险! 我们这里还是选择使用3D模板就行。。(这里要注意项目名称,最好是英文,用中文可能后面代码会报错。。) 咱们先下载这个包然后导入,全选,导入 然后你就会能到你的unity弹出这三个…

【实战分享2】:如何基于OpenXR@ unity + 华为VR Glass 6dof Quest 开发跨平台VR游戏/应用

在上一篇中《【实战分享1】如何使用华为VR Glass 6dof 基于 OpenXR unity 开发VR游戏》最后小结中提到,基于openxr可以支持一套代码,达到跨平台部署: 使用openxr标准,无需在场景或者XR RIG上做任何的改动,可以跨平台&…

华为入局 VR 眼镜能让 VR 早普及几年?|CSDN博文精选

作者 | 小谦笔记 责编 | 刘静 出品 | CSDN博客 早在15、16年,VR、AR概念最先兴起的那会儿,还没有体验过VR的我,以为好莱坞大片里面那种“空中屏幕控制”的科技即将到来,只需要按一按眼镜,面前就会出现一个屏幕&#xf…

VR眼镜连接android设备,华为VR眼镜和电脑如何连接 投屏软件PCVR Assistant 2.0使用教程...

HUAWEI VR Glass如何连接电脑?HUAWEI VR Glass在电脑上如何使用?华为投屏软件PCVR Assistant 2.0如何使用?华为VR眼镜主打轻薄,能调节近视,支持联动多种设备,除了可以手机投屏外,还能使用投屏软件PCVR Assistant 2.0在电脑上轻松操作。下面来看看电脑上如何使用PCVR Ass…

我参加 NVIDIA Sky Hackathon---语音识别+前端设计

一、语音识别 针对项目中要求识别的果皮,瓶子,纸箱这些物品我们选择采集以下文字对应的语音数据: 请检测出果皮 请检测出纸箱 请检测出瓶子 请检测出果皮和纸箱 请检测出纸箱和瓶子 请检测出果皮和瓶子 请检测出纸箱、果皮和瓶子 1.语…

VR开发者如何把Oculus Quest中的录制视频导出

最近在开发Oculus上的一个APP,在向上级汇报的时候,录制了一段视频,那怎样把这段视频导出到个人的PC上呢? 之前用过Android Studio开发过手机的APP,之前可以在Android Studio上之间看到整个手机的目录。Oculus也是Android的系统&…

【资源】Oculus meta Quest 2游戏下载VR一体机游戏资源合集下载教程Pro

meta Oculus Quest2的VR一体机已经发布有一段时间了,虽然后起之秀的VR一体机设备陆续也发布,尤其是近期pico4的发布,但是不可否认,Quest2至今依然是VR一体机设备的生态之王,丰富的VR游戏和应用资源是其他设备望尘莫及的…

《基于Qt的VR编辑器开发》(Yanlz+Unity+SteamVR+5G+AI+VR云游戏+Qt+编辑器+跨平台+人机交互+触发事件+立钻哥哥+==)

《基于Qt的VR编辑器开发》 《基于Qt的VR编辑器开发》 版本 作者 参与者 完成日期 备注 YanlzFramework_Qt_V01_1.0 严立钻 2019.09.04 ##《基于Qt的VR编辑器开发》发布说明: “基于Qt的VR编辑器开发”:是对“Qt”的了解拓…

基于UnityXR 开发 Oculus Quest VR应用------的前期工作

开发oculus quest vr应用有两种方式: 1、基于unity xr toolkit 开发 2、直接接入oculus 原生sdk开发 方式1:使用untiy xr开发,项目会更好维护一些,用的api也都是unity xr那一套,可直接上手开发。 方式2:现成…

如何使用Oculus Quest学习SteamVR开发

在与学员朋友们的交流过程中,越来越多的朋友在报名之前会询问这样一个问题:现在并没有HTC VIVE,手头上只有一个Oculus Quest1/2,能不能报名学习课时或者是自行进行steam VR的开发?本文将介绍关于这方面的内容。. 先上结…

unity +vive(设备)+steam vr(软件)(第一天)

废话不多说,直接开始! 首先是设备! 下载我们最爱的steam!!! 同时下载一下一个叫steam VR的一个工具 主要我们就有了基本游玩vr的工具。 vr眼镜我用的是学校提供的HTC vive家的设备 unity版本是2020.3.2…

VR联机体验破圈难?VRChat进军移动端分析

4年前,VR社交应用Rec Room为了扩大用户群体,宣布进军iOS移动生态,随后又陆续登陆了PlayStation、Xbox、安卓等主流的非VR硬件平台。而近期,另一款经典VR社交应用VRChat也宣布将支持安卓移动平台。毫无疑问,跨设备对于社…

Win10系统中用Unity进行Oculus quest 2 VR开发的测试与打包

具体打包的整个流程可以参考文章: 如果是将apk文件打包在电脑上需要通过adb这个命令行工具进行安装,安装方式比较简单, 1、去官网下载适用于 Windows 的 SDK Platform-Tools 2、下载安装后配置环境变量 # 比如我的安装位置是 E:\software\install\ADB…

vrchat新手教程_VRChat入门指南| 最新电脑资讯

您知道电脑硬盘是如何读取和存储数据的吗?恢复软件是如何找回数据的吗?通过这个视频教程,你将了解你丢失的数据是否还在,这些文件能否找回。 请点击 - 》》》》 观看视频 如何安全找回丢失数据的方法 1. 下载并安装B计划数据恢复软…

分享一种虚拟现实显示的思路,多面曲面显示非头戴VR

⑴技术领域 本文主要涉及三维虚拟空间的三维坐标转换到二维平面显示时二维坐标变换关系,具体属于计算机图形领域。 ............................................................................................................. ⑵引出技术点 目前的显示方…

0基础学习VR全景平台篇 第57篇:高级功能-多语言

功能位置示意 一、本功能将用在哪里? 多语言功能,可一键设置作品界面语言为中/英文,或跟随系统自动切换中/英文,各位可以用户可以轻松制作英文版VR全景作品,满足国外用户访问的需求。 此外蛙色VR平台,可通…

小白初窥VR世界的通行证?浅聊 PCVR 串流软件 Virtual Desktop - VR与串流篇 上

什么是Virtual Desktop? Virtual Desktop (以下简称VD)是一款VR串流软件,其通过局域网低延迟、高质量的流式传输将PC端的界面同步到用户的VR头显中,给用户带来舒适且愉快的VR体验,是VR头显串流PCVR的重要助手。 VD作为VR玩家几乎人…

Unity接入百度语音识别SDK windows平台

1.先注册百度开放平台的账号,然后按文档申请试用资格及创建应用:https://ai.baidu.com/ai-doc/SPEECH/qknh9i8ed Windows平台选择“不需要”就可以了。 2.下载C# SDK包 解压以后里面包含这两个文件夹,我工程里面用的是net45,将文…