Unity3DVR开发—— XRInteractionToolkit(PicoNeo3)

news2025/1/15 19:38:37

目录

一、开发前的准备

二、基础配置

三、Pico项目配置

 四、添加基础功能


一、开发前的准备

1、为了方便开发,先在Pico开发者平台里下载预览工具

Pico开发者平台https://developer-global.pico-interactive.com/sdk?deviceId=1&platformId=1&itemId=17

 2、在Pico设备中安装官方提供的apk

 3、在Pico和PC端中都打开Preview Tool,显示连接成功(同一局域网或有线连接

二、基础配置

1、切换安卓平台

2、在Package Manager中安装XRInteractionToolkit,并导入官方提供的3个Sample

3、在Package Manager中安装XRPluginManagement

4、在Pico开发者平台安装SDK

5、导入官方的Json文件

6、在XRPlug-inManagementAndroid和PC中勾选PICO

(不勾选PC的Pico,Preview Tool无作用)

7、将StarterAssets中的预设文件添加为默认

三、Pico项目配置

1、添加XR Origin

 2、给双手控制器添加预设

 3、打开Preview Tool测试一下

这里看到Pico和两个手柄都生效了

 四、添加基础功能

(1)实现移动功能(位移和旋转)

1、添加LocomotionSystem组件(负责运动

2、添加TeleportationProvider组件(负责传送

3、添加SnapTurnProvider组件(负责旋转

(I)LeftHandSnapTurnAction勾选UseReference

(II)RightHandSnapTurnAction取消勾选UseReference

这样就是左手柄摇杆负责旋转

4、添加ContinuousMoveProvider组件(负责移动

(I)LeftHandSnapTurnAction取消勾选UseReference

(II)RightHandSnapTurnAction勾选UseReference

这样就是右手柄摇杆负责位移

 

(2)允许传送的前提准备

1、给地面添加TeleportationArea组件,这样就可以可以移动了。

(3)添加射线指示器

1、新建两个Sphere作为射线指示器,并赋予给XRInteractorLineVisualReticle

(4)射线改为贝瑟尔曲线

(5)添加人物碰撞

1、添加CharacterControllerCharacterControllerDriver组件

 (6)实现射线抓取物品(手柄侧键)

1、给物体添加 XRGrabInteractable 组件即可(记得勾选UseDynamicAttach

2、XRRayInteractor负责射线抓取物品,关掉就可以关闭这个功能

(7)把手柄显示出来

1、添加两个射线指示器(DirectInteractor)

 2、添加预设

 3、右边手柄同理(复制左手柄并修改预设)

 

 4、把手柄预制体添加给LeftDirectInteractorRightDirectInteractor作为子物体,就可以把手柄显示出来,我这里先用Sphere代替

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

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

相关文章

【哈希表】关于哈希表,你该了解这些!

【哈希表】理论基础1 哈希表2 哈希函数3 哈希碰撞3.1 拉链法3.2 线性探测法4 常见的三种哈希结构5 总结1 哈希表 哈希表 Hash table (一些书籍翻译为散列表) 哈希表是根据关键码的值而直接进行访问的数据结构。 直白来讲其实数组就是一张哈希表。 哈希表…

用1行Python代码识别增值税发票,YYDS

大家好,这里是程序员晚枫。 录入发票是一件繁琐的工作,如果可以自动识别并且录入系统,那可真是太好了。 今天我们就来学习一下,如何自动识别增值税发票并且录入系统~ 识别发票 识别发票的代码最简单,只需要1行代码…

CSS的总结

从HTML被发明开始,样式就以各种形式存在。不同的浏览器结合它们各自的样式语言为用户提供页面效果的控制。最初的HTML只包含很少的显示属性。 随着HTML的成长,为了满足页面设计者的要求,HTML添加了很多显示功能。但是随着这些功能的增加&…

ISIS的路由器级别level-1、level-2、level-1-2,报文格式

2.1.0 ISIS的路由器级别level-1、level-2、level-1-2,报文格式 通过该文章了解ISIS的路由器级别类型、级别之间建立的邻接关系、各级别的作用、ISIS报文的结构。 ISIS路由器级别 Level-1 level-1路由器又称L1路由器,是一种ISIS区域内部路由&#xff0c…

6、运算符

目录 一、赋值运算符 二、算数运算符 三、自增和自减运算符 四、比较运算符 五、逻辑运算符 六、位运算符 1. “按位与”运算 2. “按位或”运算 3. “按位取反”运算 4. “按位异或”运算 5. 移位操作 七、三元运算符 八、运算符优先级 一、赋值运算符 赋值运算…

[Android开发基础1] 五大常用界面布局

文章目录 一、线性布局 二、相对布局 三、帧布局 四、表格布局 五、约束布局 总结 一、线性布局 线性布局(LinearLayout)主要以水平或垂直方式来显示界面中的控件。当控件水平排列时,显示顺序依次为从左到右,当控件垂直排列时…

29/365 java 网络通信 IP InetAddress

1.网络通信: 如何定位到一台主机? IP地址 定位主机, 端口号定位到具体的应用程序 如何在主机之间通信(传输数据)? 网络通信协议 2.IP地址分类 IPv4: 32位 IPv6地址:128位 IPv6地址使用以冒号…

初学python100例-案例37 合并排序列表 少儿编程python编程实例讲解

目录 python合并排序列表 一、题目要求 1、编程实现 2、输入输出

C语言形参和实参的区别

如果把函数比喻成一台机器,那么参数就是原材料,返回值就是最终产品;从一定程度上讲,函数的作用就是根据不同的参数产生不同的返回值。这一节我们先来讲解C语言函数的参数,下一节再讲解C语言函数的返回值。C语言函数的参…

浅谈多任务学习

目录 一、前言及定义 二、多任务学习(MTL)的两种方法 2.1 参数的硬共享机制(hard parameter sharing) 2.2 参数的软共享机制(soft parameter sharing) 三、多任务学习模型 3.1 MT-DNN 3.2 ERNIE 2.0…

数学建模学习笔记(9)多元线性回归分析(非常详细)

多元线性回归分析1.回归分析的地位、任务和分类2.数据的分类3.对线性的理解、系数的解释和内生性4.取对数预处理、虚拟变量和交互效应5.使用Stata进行多元线性回归分析6.异方差7.多重共线性8.逐步回归法1.回归分析的地位、任务和分类 回归分析的地位:数据分析中最基…

cclow 面试心得

开源ccflow学习的一些心得目录概述需求:设计思路实现思路分析1.心得参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge …

JavaEE-文件和IO(一)

目录一、文件1.1 认识文件1.2 树型结构组织和目录1.3 文件路径二、Java中操作文件2.1 文件系统相关的操作一、文件 1.1 认识文件 平时说的文件一般都是指存储再硬盘上的普通文件,形如txt,jpg,MP4,rar等这些文件都可以认为是普通…

Java集合常见面试题(四)

Map 接口 HashMap 的底层实现 JDK1.8 之前 JDK1.8 之前 HashMap 底层是 数组和链表 结合在一起使用也就是 链表散列,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的。 HashMap 通过 key 的 hashcode 经过扰动函数(hash函数&…

JAVA基础知识08集合基础

目录 1. 集合 1.1 什么是集合? 1.2 ArrayList 1.2.1 ArrayList 长度可变原理 1.2.2 集合和数组的使用选择 1.2.3 ArrayList 集合常用成员方法 1. 集合 1.1 什么是集合? 集合是一种容器,用来装数据的,类似于数组。 其长度可…

线段树的懒标记与应用

目录 一、前言 二、Lazy-tag技术 1、update() 中的lazy-tag 三、例题 1、区间修改、区间查询(lanqiaoOJ 1133) 一、前言 本文主要讲了线段树的Lazy-tag技术和一道例题,建议自己要多练习线段树的题目。 二、Lazy-tag技术 背景&#xf…

水面漂浮物垃圾识别检测系统 YOlOv7

水面漂浮物垃圾识别检测系统通过PythonYOLOv7网络模型,实现对水面漂浮物以及生活各种垃圾等全天候24小时不间断智能化检测。Python是一种由Guido van Rossum开发的通用编程语言,它很快就变得非常流行,主要是因为它的简单性和代码可读性。它使…

Linux- 系统随你玩之--文本处理三剑客-带头一哥-awk

文章目录1、awk概述2、awk原理2.1、 awk 工作原理2.2、 与sed工作原理比较2.3、 awk与sed的区别3、使用方法及原理3.1、格式如下:3.2、 匹配规则3.3、 参数说明3.4、处理规则与流程控制3.5、 常用 awk 内置变量3.6、 awk 正则表达式解释4、操作实例4.1、 准备工作4.…

(十七)抽象队列同步器AQS

AQSAbstractQueuedSynchronizer抽象同步队列简称AQS,它是实现同步器的基础组件,并发包中锁的底层就是使用AQS实现。类图如下,AbstractQueuedLongSynchronizer与AbstractQueuedSynchronizer结构一模一样,只是AbstractQueuedSynchro…

Springboot+java师生交流答疑作业系统

,本系统拥有学生,教师,管理员三个角色,学生可以注册登陆系统,查看新闻,查看教学,在线提问答疑,提交作业,发布交流,留言反馈等功能,教师可以发布教…