Unity之OpenXR+XR Interaction Toolkit 安装和配置

news2024/11/16 8:21:51

前言

XR Interaction Toolkit 是Unity基于OpenXR标准,发布的一套XR工具,目的是方便我们快速接入XR相关的SDK,并且做到兼容不同VR设备的目的,目前流行的VR设备如Oculus,Metal,HTC Vive,Pico等统统都支持。
所以我们今天的目的就是把XR Interaction Toolkit从导入到配置,详细给大家说一下,后续的功能都会基于这篇文章的结果展开。

创建工程

我们可以使用直接使用UnityHub自带的“VR模板”来创建项目,但是为了详细说明VR项目的配置,我这里是通过创建空的3D项目来一步一步的完成VR项目的配置。
创建一个3D的空项目,或者3D(URL)的空项目,因为2021其实官方是推荐搭建使用URL的渲染管线的,所以我么不如直接一步到位。
在这里插入图片描述

安装XR Interaction Toolkit

我们打开PackageManager,点击+号,选择Add package by name。
在这里插入图片描述
然后输入:com.unity.xr.interaction.toolkit
在这里插入图片描述
这样可以直接安装最新版本的XR Interaction Toolkit插件。(如果通过Package的目录安装可能不是最新版本。)
在这里插入图片描述

导入Sample

安装完后,我们手动把它的Samples包给导入进来。
Samples包:
Starter Assets包。里面包含了一些Preset和Input System相关的东西,
XR Device Simulator包,里面包含了XR模拟器相关的东西。
Tunneling Vignette包:里面是一些关于VR相机镜头效果相关的东西。
Meta Gaze Adapter包:里面是用于眼部追踪相关的东西
Hands Interaction Demo包,里面包含 手部识别 相关的东西。

我们一般导入Starter Assets和XR Device Simulator即可。
导入后如下图所示:
在这里插入图片描述

配置XR Preset

我们知道Unity有一个Preset预设功能,Preset预设允许我们将组件、资源或 Project Settings 窗口的属性配置保存为预设资源。然后,可以使用此预设资源将相同的设置应用到不同的组件、资源或 Project Settings 窗口。
接下来我们就是把XR Interaction Toolkit的这些Controller相关的配置都保存成Preset,然后当我们创建XR Origin时,它就会自动帮我们匹配对应的设置了。
选中XR Interaction Toolkit自带的每一个Controller的Preset,然后添加到Prese Manager系统默认配置中。
如下所示:
点击Add to ActionBasedContinuousMoveProvider default按钮
在这里插入图片描述
全部点击完毕后,打开PresetManager面板,会看到如下所示的结果:
注意:左右手的配置需要我们手动给他加上Filter Name,这样系统就可以自动通过Left和Right关键字帮我们分别给左右手设置不同的Preset了。
在这里插入图片描述
好了,到此就配置好了,我们再创建XR->XR Origin(VR)后,会发现Hand Controller上面已经自动帮我们设置好了Preset。

Device Simulator

如果我们想通过编辑器测试,那么需要用的XR Device Simulator,这个在XRInteraction Toolkit中是有的。如下图所示:
在这里插入图片描述
我们可以直接拖拽到场景中,或者也可以通过ProjectSetting-> XR Interaction Toolkit配置,这样游戏运行,Simulator会自动加载。
如下图所示:
在这里插入图片描述
但是注意,如果 你要使用了XR Device Simulator,那么就只能在编辑器模式下跑,如果要运行VR一体机真机,那么请把它XR Device Simulator给勾选掉,否则他会影响真机的运行。

运行Demo

官方Demo

Unity给我们提供了XR Interaction Toolkit的demo,我们可以直接运行测试,并根据Demo学习如何修改VR场景
在这里插入图片描述

自定义Demo

接下来我们不使用官方提供的场景,我们自定义场景,然后添加VR相关脚本并运行起来。

1.创建场景

我们创建一个简单的场景,添加地面,添加几个简单的盒子作为环境。

2.添加XR Origin

XR Origin是我们的VR控制器,包含了VR头显和VR手柄的控制,我们可以在场景中,右键创建,如下图所示:
在这里插入图片描述
创建后,如下图所示:
在这里插入图片描述
我们看到,多了一个XR Interaction Mangaer,和一个XR Origin
XR Origin中又包含了Camera Offset以及下面的两个手柄控制。
我们可以看到创建出来的Hand Controlle上面已经帮我们自动创建了XR Controller(Action-Based)脚本,并自动帮我们绑定了左手的所有动作Preset。这是因为我们之前添加了控制器的Preset并设置了Filter。

好了,现在可以在模拟器运行一下试试了。如下图所示:
在这里插入图片描述
左下角的面板就是XR Device Simulator面板,用于VR控制在Unity编辑器的模拟。

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

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

相关文章

改进YOLOv8 | 主干网络篇 | YOLOv8 更换骨干网络之 MobileNetV3 | 《搜寻 MobileNetV3》

论文地址:https://arxiv.org/abs/1905.02244 代码地址:https://github.com/xiaolai-sqlai/mobilenetv3 我们展示了基于互补搜索技术和新颖架构设计相结合的下一代 MobileNets。MobileNetV3通过结合硬件感知网络架构搜索(NAS)和 NetAdapt算法对移动设计如何协同工作,利用互…

【天秤座区块链】元宇宙知识普以及简单解读清华研究报告

本节目录 温馨提示关于分栏【天秤座区块链】由来提前感受元宇宙区块链的两个注意点区块链革命简单认识清华大学报告解读(元宇宙)前传《雪崩》元宇宙具体是什么?元宇宙不是什么?那为什么要冲击元宇宙呢? 小补充及感谢 温…

前端搭建打字通游戏(内附源码)

The sand accumulates to form a pagoda ✨ 写在前面✨ 打字通功能介绍✨ 页面搭建✨ 样式代码✨ 功能实现 ✨ 写在前面 上周我们实通过前端基础实现了名言生成器,当然很多伙伴再评论区提出了想法,后续我们会考虑实现的,今天还是继续按照我们…

java基础入门-06-【面向对象进阶(多态包final权限修饰符代码块)】

Java基础入门-06-【面向对象进阶(多态&包&final&权限修饰符&代码块)】 14、面向对象进阶(多态&包&final&权限修饰符&代码块)1.1 多态的形式1.2 多态的使用场景1.3 多态的定义和前提1.4 多态的运行…

嵌入式设备逆向所需的工具链

导语:本文介绍了嵌入式设备逆向所需的工具链。 相关的应用程序或工具有: UART(Universal Asynchronous Receiver Transmitter,通用异步收发器): UBoot; Depthcharge; SPI (Serial Peripheral Interface…

利用文本描述替换万物(Inpaint-Anything-Description)

文章目录 引言安装Demo github: https://github.com/Atlas-wuu/Inpaint-Anything-Description 引言 前段时间看了万物分割SAM、文生图Stable Diffusion、开集检测Grounding DINO,它们之间可以互相补充,AIGC变得更加可控。Inpaint Anything将…

RK3568平台开发系列讲解(网络篇)Linux 的 socket 套接字

🚀返回专栏总目录 文章目录 一、套接字的数据结构1.1、struct socket 数据结构1.2、struct sock 数据结构二、套接字的初始化三、套接字与文件四、Socket Buffer沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 Linux 内核支持的套接字如下: 我们创建套接字时,可以…

PCIe物理层弹性缓存机制(详细)解析-PCIe专题知识(四)

目录 前言一、简介二、详细解析2.1 实例解析2.2 具体实现过程 三、总结四、其他相关链接1、PCI总线及发展历程总结2、PCIe物理层总结-PCIE专题知识(一)3、PCIe数据链路层图文总结-PCIe专题知识(二)4、PCIe物理层链路训练和初始化总…

国产ChatGPT命名图鉴

很久不见这般热闹的春天。 随着ChatGPT的威名席卷全球,大洋对岸的中国厂商也纷纷亮剑,各式本土大模型你方唱罢我登场,声势浩大的发布会排满日程表。 有趣的是,在这些大模型产品初入历史舞台之时,带给世人的第一印象其…

进程替换函数组介绍exec*

目录 前述 execl execlp execle execv execvp execvpe 前述 介绍后缀的意义: l (list):表示参数采用列表。 v(vector):参数同数组表示。 p(path):自…

力扣题库刷题笔记704-二分查找

1、题目如下&#xff1a; 2、个人Python代码如下&#xff1a; 个人代码如下&#xff1a; class Solution: def search(self, nums: List[int], target: int) -> int: left 0 right len(nums) - 1 while left < right: mid (right left) >> 1 if nums[mid] >…

【C++类和对象之拷贝构造、赋值运算符重载】

拷贝构造、赋值运算符重载 ❀拷贝构造函数 特性 ❀赋值运算符重载 赋值运算符重载格式 &#x1f340;小结&#x1f340; &#x1f389;博客主页&#xff1a;小智_x0___0x_ &#x1f389;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f389;系列…

【数字图像处理】边缘检测

文章目录 0. 前言1. Sobel算子2. Canny算子3. 深度学习算法3.1 Holistically-Nested Edge Detection&#xff08;HED&#xff09;3.2 Richer Convolutional Features&#xff08;RCF&#xff09; 0. 前言 边缘检测是一种图像处理技术&#xff0c;旨在标识和定位数字图像中的边…

【信息系统安全/计算机系统安全】期末复习(HITWH)

PDF版本及更多资料&#xff08;百度网盘&#xff09;&#xff1a; 链接&#xff1a;信息系统安全期末复习 目录 第一章 绪论 第二章 安全认证 填空题 第三章 访问控制 填空题 第四章 安全审计 填空题 第五章 Windows操作系统安全 填空题 第六章 Linux操作系统安全 填…

JDBCSpring:使用Spring JDBC封装Dao

目录标题 1、工程目录pom.xml文件 2、创建数据表student3、在resources目录创建配置文件applicationContext.xmljdbc.properties 4、创建Bean对象Student 5、创建Dao类UserDao接口 6、插入数据一、直接注入jdbctemplate二、继承jdbcdaosupport类 7、运行结果图 1、工程目录 pom…

go 使用pprof分析性能,trace追踪

前言 pprof是Go程序自带的性能分析工具&#xff0c;prof是profile&#xff08;画像&#xff09;的缩写&#xff0c;用于分析go程序的性能。 Profile Descriptions: allocs: A sampling of all past memory allocations 已分配内存采样 block: Stack traces that led to bloc…

梯度下降算法

梯度下降算法的公式&#xff1a; 公式依次代表为“下次迭代的点”、“目前所在的点”、“学习率”和“最大负向梯度”。按照这个公式&#xff0c;每次迭代都会根据上次的步长减去学习率乘以“梯度”的值&#xff0c;去一步一步更新&#xff0c;这样能可以每次迭代都朝着最大负方…

基于xml的Spring应用-1

基于xml的Spring应用 Spring的get方法 方法定义返回值和参数Object getBean (String beanName)根据beanName从容器中获取Bean实例&#xff0c;要求容器中Bean唯一返回值为Object&#xff0c;需要强转T getBean (Class type)根据Class类型从容器中获取Bean实例&#xff0c;要求…

SpringBoot 创建 WebService

开发环境: IDEA 2022.1.4 目录 1. 概述 2. 实现步骤 2.1 POM现加依赖 2.2 定义接口 IWebService 2.3 创建类 IWebServiceImpl 并实现接口 IWebService 2.4 配置类 CxfConfig 2.5 启动服务 2.6 测试 1. 概述 虽然webservice这块使用很少&#xff0c;但在局域网作服务还是相…

自动化测试之 selenium 的安装以及 selenium IDE 录制自动化脚本的用法

文章目录 1. 什么是自动化测试1&#xff09;单元测试2&#xff09;接口自动化3&#xff09;UI 自动化 2. Selenium 介绍1&#xff09;Selenium IDE2&#xff09;Webdriver3&#xff09;Selenium Grid 3. 如何使用 Selenium IDE 录制脚本4. 在 python 环境中安装 Selenium 框架 …