Pico VR眼镜(XR) Unity开发环境部署及打包教程

创建项目

我这里选择的是URP项目。URP对移动端性能比较友好,另外VR平台也不支持HDRP渲染管线。
在这里插入图片描述
然后进入unity工具栏->File -> Build Settings
在这里插入图片描述
点击 Android后,点就Switch Platform将项目转为Android项目

安装依赖包

在unity的工具栏中点击Window->Package Manager,打开包管理器
在这里插入图片描述
如图将package来源设置为Unity Registry,然后在右侧的搜索栏中输入“xr”,再点击回车就能看到我们需要的资源包了
在这里插入图片描述
如图安装以下资源包:
XR Plugin Managerment
OpenXR Plugin
XR Interaction Toolkit
在这里插入图片描述

在安装XR Interaction Toolkit时,把它下面的Starter Assets 也装上
在这里插入图片描述
接下来安装Pico 的Sdk包
进入pico sdk首页 https://developer-cn.pico-interactive.com/resources/#sdk
在这里插入图片描述
你可以看到好几个选项。
如果你只是针对Pico平台,想深度使用Pico提供的硬件资源和借口,那就应该下载PICO Unity Integeration SDK ;
如果你使用的功能是所有VR设备都有的功能,比如手柄方向,位置,按钮等这种通用功能,那推荐下载PICO Unity OpenXR。这个SDK更容易兼容其他VR硬件。

下载并解压后,可以看到类似下图这个目录,这里最重要的文件就是package.json
在这里插入图片描述
回到Package Manager,点击左上角+号,再点击INstall package from disk,在弹出的文件选择器中,选择我们刚解压出来的package.json文件,然后improt 这个包就行了
在这里插入图片描述

设置插件

unity工具栏-> Edit->Project Settings,进入项目设置窗口
在这里插入图片描述
首先将平台选为Android,就是那个傻萌傻萌的机器人图标
然后勾选OpenXR及其下面的 PICO XR feature group
在这里插入图片描述

设置OpenXR
关于Render Mode设置,需要根据你的需求自己抉择,Multi-pass是双眼同时渲染,Single Pass是顺序双目渲染,后者的性能消耗更小点
别忘了勾选下方的PICO XR
在这里插入图片描述
检查错误,将XR Plug-In Manager下面的几项都点一遍,如果看到这个红色叹号,就点击后面的Fix或Fix All进行修复
在这里插入图片描述

设置PICO APP KEY

进入Pico 开发者平台网页,注册并登录
https://developer-cn.pico-interactive.com/console#/organization/app?org_id=7288148437168603197

在这里插入图片描述
登录后在首页右上角能看到创建按钮,点击创建填写基本信息完成创建。然后点击刚创建出来的app
在这里插入图片描述
此时就能看到左侧出现了API按钮。点击后右侧显示出app信息,将APP ID复制下来
在这里插入图片描述
回到Unity 点击工具栏-> PXR_SDK->Platform Settings,
在这里插入图片描述
粘贴刚刚复制的ID,关闭即可
在这里插入图片描述

项目添加眼镜组件
添加头显

在左侧节点树点击鼠标右键,然后选择XR->XR Origin(VR),即可将VR组件加入到主场景

在这里插入图片描述

添加手柄

展开刚添加的XR Origin(XR Rig) -> Camera Offset->Left Controller
在这里插入图片描述
点击XR Controller组件右上角第二个按钮,在三个预制文件中选择带Left字样的那个,就完成了左手控制器添加
在这里插入图片描述
继续往下拉,在Model Prefab处可以设置左手模型
在这里插入图片描述
右手也用同样方法设置,只不过刚才所有选择Left的地方都选择Right。设置好后保存项目

打包测试

将PICO眼镜用USB链接到电脑

点击unity 工具栏-> File->Build settings,
点击下面Run Device 后方的 Refresh按钮,直到刷出VR眼镜,选择该眼镜,然后点击Build And Run等待完成即可在眼镜中看到我们的程序了。
在这里插入图片描述

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

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

相关文章

12.4作业

#include <iostream>using namespace std;class Sofa { private:string sit;int *nub; public:Sofa(){cout << "Sofa::无参构造函数" << endl;}Sofa(string sit,int nub):sit(sit),nub(new int(nub)){cout << "Sofa::有参构造函数"…

前缀和例题:子矩阵的和AcWing796-Java版

//前缀和模板提,在读入数据的时候就可以先算好前缀和的大小 //计算前缀的时候用:g[i][j] g[i][j-1] g[i-1][j] - g[i-1][j-1] Integer.parseInt(init[j-1]); //计算结果的时候用:g[x2][y2] - g[x1 - 1][y2]- g[x2][y1-1] g[x1 -1][y1 - 1] "\n" //一些重复加的地…

拼多多股价为什么可以创下两年新高并一举超越阿里巴巴?

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 拼多多再次证明了它是全球电商领域中不可忽视的力量 过去两年&#xff0c;由于某些众所周知的原因&#xff0c;很多中概股的股价都很疲软&#xff0c;甚至半死不活的&#xff0c;很多投资中概股的朋友也一直承受着很大的…

浅谈Django之单元测试

一、什么是单元测试 单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。如果测试通过则说明我们这个函数或功能能够正常工作&#xff0c;如果失败要么测试用例不正确&#xff0c;要么函数有bug需要修复。 二、如何使用单元测试 from django.test imp…

练习十二:利用SRAM设计一个FIFO

利用SRAM设计一个FIFO 1&#xff0c;任务目的2&#xff0c;设计要求3&#xff0c;FIFO接口的设计思路4&#xff0c;FIFO接口的测试&#xff0c;top.v5&#xff0c;FIFO接口的参考设计&#xff0c;fifo_interface.v6&#xff0c;SRAM模型&#xff0c;sram.v代码7&#xff0c;viv…

Linux下快速创建大文件的4种方法

1、使用 dd 命令创建大文件 dd 命令用于复制和转换文件&#xff0c;它最常见的用途是创建实时 Linux USB。dd 命令是实际写入硬盘&#xff0c;文件产生的速度取决于硬盘的读写速度&#xff0c;根据文件的大小&#xff0c;该命令将需要一些时间才能完成。 假设我们要创建一个名…

智能优化算法应用:基于未来搜索算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于未来搜索算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于未来搜索算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.未来搜索算法4.实验参数设定5.算法结果6.参考…

提升--21---JMM(Java内存模型)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 JMM--Java Memory ModelJMM 定义JMM规则&#xff1a;线程间通信的步骤&#xff1a; JMM的三大特性&#xff1a;原子性&#xff08;Atomicity&#xff09;可见性&…

微软 Power Platform 零基础 Power Pages 网页搭建实际案例实践(三)

微软 Power Platform 零基础 Power Pages 网页搭建教程之案例实践学习&#xff08;三&#xff09;结合Power Apps和Power Automate Power Pages 实际案例学习 微软 Power Platform 零基础 Power Pages 网页搭建教程之案例实践学习&#xff08;三&#xff09;结合Power Apps和Po…

练习十一:简单卷积器的设计

简单卷积器的设计 1&#xff0c;任务目的&#xff1a;2&#xff0c;明确设计任务2.1,目前这部分代码两个文件没找到&#xff0c;见第5、6节&#xff0c;待解决中。 &#xff0c;卷积器的设计&#xff0c;RTL&#xff1a;con1.v4&#xff0c;前仿真和后仿真&#xff0c;测试信号…

Python入门07循环及常见的数据结构

目录 1 循环的语法结构2 break和continue的示例3 可迭代对象4 列表5 元组6 列表和元组的应用场景7 集合8 字典9 生成器 1 循环的语法结构 在Python中&#xff0c;循环是一种控制结构&#xff0c;用于重复执行一段代码&#xff0c;直到满足特定条件。Python中有两种循环结构&am…

Spring切面编程

切面编程 代码地址&#xff1a; orbit-hub/spring-boot-samples at master (github.com)https://github.com/orbit-hub/spring-boot-samples/tree/master 切面执行顺序 Spring5以后顺序就一切正常 正常&#xff1a;前置通知目标方法返回通知后置通知 异常: 前置通知目标方…

C++12.4

沙发床的多继承 多继承代码实现沙发床沙发床继承于沙发和床 代码&#xff1a; #include <iostream>using namespace std;//封装 沙发 类 class Sofa { private:string sitting;double *size; public://无参构造函数Sofa() {cout << "Sofa::无参构造函数&quo…

京东运营数据分析(京东数据采集):2023年10月京东护肤行业品牌销售排行榜

鲸参谋监测的京东平台10月份护肤市场销售数据已出炉&#xff01; 鲸参谋数据显示&#xff0c;2023年10月份&#xff0c;京东平台上护肤市场的销量为2000万&#xff0c;环比增长约28%&#xff0c;同比降低约26%&#xff1b;销售额为25亿&#xff0c;环比增长约24%&#xff0c;同…

Java基本数据类型、包装类及拆装箱详解

Java的基本数据类型和对应的包装类是Java语言中处理数据的两个关键概念。基本数据类型提供了简单而高效的方式来存储数据&#xff0c;而包装类使得基本数据类型具有对象的特性。本文将深入探讨基本数据类型与包装类的应用场景及详细描述&#xff0c;并对自动拆箱和装箱的源码实…

了解完Devops,让我们再来看看什么是SRE吧!

SRE SRE 全称是 Site Reliability Engineering&#xff0c;即网站稳定性工程师。最早是由 Google 提出&#xff0c;并且在其工程实践中发扬光大。这个团队设立目的是帮助 Google 生产环境服务运行更稳定、健壮、可靠。不同于中小型规模公司&#xff0c;Google服务于十几亿用户…

SpringBoot+SSM项目实战 苍穹外卖(3)

继续上一节的内容&#xff0c;本节完成菜品管理功能&#xff0c;包括公共字段自动填充、新增菜品、菜品分页查询、删除菜品、修改菜品。 目录 公共字段自动填充新增菜品文件上传实现新增菜品实现 useGeneratedKeys 菜品分页查询删除菜品修改菜品根据id查询菜品实现修改菜品实现…

geemap学习笔记015:下载哨兵2号(Sentinel-2)数据

前言 使用GEE下载数据应该是最常见的功能了&#xff0c;今天就介绍一下如何使用geemap下载哨兵2号(Sentinel-2)数据&#xff0c;分别包括自己画感兴趣&#xff0c;以及利用Assets中的shp文件进行下载。 1 自己画感兴趣下载哨兵2号影像 import geemap import eeMap geemap.M…

金蝶云星空表单插件单据体批量删除,序号自增

文章目录 金蝶云星空表单插件单据体批量删除&#xff0c;序号自增字段标识说明表单插件获取单据体数据包移除物料为空的行其他移除物料为空的行的方式&#xff0c;但是测试不通过&#xff0c;不建议使用序号重新生成测试 金蝶云星空表单插件单据体批量删除&#xff0c;序号自增…

Apache Doris 详细教程(三)

7、监控和报警 Doris 可以使用 Prometheus 和 Grafana 进行监控和采集&#xff0c;官网下载最新版即可。 Prometheus 官网下载&#xff1a;https://prometheus.io/download/ Grafana 官网下载&#xff1a;https://grafana.com/grafana/download Doris 的监控数据通过 FE 和…