Unity之OpenXR+XR Interaction Toolkit基本配置

news2024/11/23 20:42:06

前言

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/477411.html

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

相关文章

JavaSE第三章 访问修饰符,Collection,List

这里写目录标题 一 访问修饰符二 集合1.1 数组1.2 集合1.3 读Collection的源码1.3.1 add添加方法1.3.2 clear,size,isEmpty方法1.3.3 remove 方法1.3.4 equals方法与contain方法1.3.5 遍历,迭代器或者增强for循环1.3.6 迭代器重点 1.4 List1.…

numpy的下载、数据类型、属性、数组创建

下载numpy 因为numpy不依赖于任何一个包所以numpy可以直接使用pip命令直接下载 下载命令: pip install numpy # 默认从https://pypi.org/simple 下载 pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/ # 从清华大学资源站点下载 pip install nump…

一步步解密微商城系统开发流程

作为现代商业的重要组成部分,电子商务系统的建设对于企业的发展至关重要。然而,对于一些小型企业来说,建设一个完整的电子商务系统可能会耗费大量的时间和金钱。微商城系统的出现有效地解决了这个问题,因为它可以在不需要太多资金…

趣说数据结构(练习1) —— 顺序表/链表力扣刷题

练习 1 —— 顺序表/链表力扣刷题 1. 合并两个有序链表 力扣题目地址:https://leetcode.cn/problems/merge-two-sorted-lists/ 问题描述:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例&#x…

【云计算•云原生】4.云原生之什么是Kubernetes

文章目录 Kubernetes概念Kubernetes核心概念集群podConfigMap Kubernetes架构master节点的组件worker节点组件 Kubernetes网络架构内部网络外部网络 k8s各端口含义 Kubernetes概念 K8S就是Kubernetes,Kubernetes首字母为K,末尾为s,中间一共有…

全球5G市场最新进展及未来展望

从智慧医疗到万物互联,从无人驾驶到关乎我国未来发展的“新基建”,自2019年全球5G商用启动后,5G就步入了发展“快车道”;2022年继续保持快速稳定的增长态势,在网络建设、人口覆盖、终端形态等方面发展势头强劲,在技术标…

1695_week2_算法与函数(MIT使用Python编程学习手记)

全部学习汇总: GreyZhang/python_basic: My learning notes about python. (github.com) 首先说明一下,这部分信息的整理只是我个人的理解。由于自己的知识功底以及英语水准,很可能会有大量的疏漏。再此,我只想把自己学习时候的一…

C++(类和对象上篇)

本节目标: 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 4.类的访问限定符及封装 5.类的作用域 6.类的实例化 7.类的对象大小的计算 8.类成员函数的this指针 目录 1、面向过程和面向对象初步认识 2、类的引入 4.类的访问限定符及封装 4.1访问限定…

为了做低代码平台,这些年我们对.NET的DataGridView做的那些扩展

我们的低代码开发平台从一开始决定做的时候,就追求未来能够支持多种类型的客户端,目前支持Winform,Web,H5,FlutterAPP,当然了,未来也有可能会随着实际的需要淘汰掉一些客户端的。 为了系统更易…

springboot - 实现动态刷新配置

自定义的配置数据源,继承自Spring框架的 MapPropertySource 类,从一个名为 my.properties 的文件中读取配置信息,并在每10秒钟刷新一次。 这里不加Component,是因为: FilePropertiesSource filePropertiesSource new…

辨析 总结PMP各种BS结构

OBS 组织分解结构、BOM 物料清单、WBS工作分解结构、RBS 资源分解结构、RBS 风险分解结构、RAM 责任分匹配矩阵辨析 组织分解结构 OBS(Organizational Breakdown Structure) 描述了执行组织的层次结构,以便把工作包同执行组织单元相关联 物料…

电子邮件SDK:MailBee.NET 12.3.1 Crack

MailBee.NET 对象捆绑包包括SMTP、POP3、IMAP、EWS、安全、反垃圾邮件、Outlook 转换器、地址验证器、PDF组件以及BounceMail、HTML、MIME、ICalVCard组件,这些组件是一项常用功能。 MailBee.NET Objects是一组强大且功能丰富的 .NET 组件,用于创建、发送…

Haffman编码(算法导论)

上次算法导论课讲到了Haffman树,笔者惊叹于Haffman编码的压缩效果,故想自己亲自动手尝试写一个极简的Haffman压缩程序。 首先,我们来了解一下什么是Haffman编码 Haffman编码 赫夫曼编码可以很有效地压缩数据:通常可以节省20%&am…

UNIX环境高级编程——进程关系

9.1 引言 本章详细说明进程组以及会话的概念,还将介绍登录shell(登录时所调用的)和所有从登录shell启动的进程之间的关系。 9.2 终端登录 9.3 网络登录 9.4 进程组 每个进程除了有一进程ID之外,还属于一个进程组,进…

一曲微茫度余生 ——川剧《李亚仙》唱响香港西九戏曲中心

2023年4月28日晚,香港西九戏曲中心灯火辉煌。重庆市川剧院携手成都市川剧研究院带来的川剧《李亚仙》首场演出在这个为戏曲而设的世界级舞台重磅上演。 此次访演受香港西九戏曲文化中心的邀请,原重庆市文化和旅游发展委员会党委书记、主任刘旗带队&…

『LogDashboard』.NET开源的日志面板——登录授权页面扩展

📣读完这篇文章里你能收获到 了解LogDashboard扩展开源项目——LogDashboard.Authorization掌握LogDashboard扩展内置登录页的使用方式 文章目录 一、LogDashbaord介绍1. 功能支持2. 快速开始 二、LogDashboard.Authorization1. 功能介绍2. 项目接入3. 更多示例 一…

Python语法学习

目录 Openmv用micro python开发的原因 print函数 列表 元组 判断 if...else... if...elif...else 循环 for循环 while循环 强制类型转换 点灯之路 点个不同颜色的闪烁LED 本文章仅作为个人的Openmv学习笔记,有问题欢迎指正~ Openmv用micro python开发…

【MPC|云储能】基于模型预测控制(MPC)的微电网调度优化的研究(matlab代码)

目录 1 主要内容 2 程序难点及问题说明 3 部分程序 4 下载链接 1 主要内容 该程序分为两部分,日前优化部分——该程序首先根据《电力系统云储能研究框架与基础模型》上面方法,根据每个居民的实际需要得到响应储能充放电功率,优化得到整体…

性能测评:阿里云服务器ECS通用型g8i实例CPU内存安全存储

阿里云服务器ECS通用型实例规格族g8i采用2.7 GHz主频的Intel Xeon(Sapphire Rapids) Platinum 8475B处理器,3.2 GHz睿频,g8i实例采用阿里云全新CIPU架构,可提供稳定的算力输出、更强劲的I/O引擎以及芯片级的安全加固。阿里云百科分享阿里云服…

真题详解(DNS)-软件设计(六十三)

真题详解(有向图)-软件设计(六十二)https://blog.csdn.net/ke1ying/article/details/130443040 顺序存储:元素和存储空间相对位置来表示数据元素之间逻辑关系。 RFB:远程访问图形用户界面的简单协议。 在ISO/IEC9126软…