当前位置: 首页 > news >正文

深入了解Rokid UXR2.0 SDK内置的Unity AR Glass开发组件

本文将了解到Rokid AR开发组件

  • 一、RKCameraRig组件
    • 1.脚本属性说明
    • 2.如何使用
  • 二、PointableUI组件
    • 1.脚本属性说明
    • 2.如何使用
  • 三、PointableUICurve组件
    • 1.脚本属性说明
    • 2.如何使用
  • 四、RKInput组件
    • 1.脚本属性说明
    • 2.如何使用
  • 五、RKHand组件
    • 1.脚本属性说明
    • 2.如何使用
    • 3.如何禁用手势的远近场自动切换,只用近场(PokeInteractor)交互或者只用远场(RayInteractor)交互
      • 1: 只是在某些场景禁用动态切换逻辑
      • 2: 只需要某种交互,不需要恢复动态切换
  • 六、Rokid AR系列教程

Rokid SDK为Unity开发者提供了五大核心组件,分别是RKCameraRig、PointableUI、PointableUICurce、RKInput和RKHand。本博客将重点带大家了解各组件的关键属性以及如何使用这些组件开发AR场景。

一、RKCameraRig组件

在这里插入图片描述
可以看到RKCameraRig组件挂载了三个脚本,这三个脚本就是用来控制渲染、场景、设备设置。

1.脚本属性说明

在这里插入图片描述

2.如何使用

这是实现AR场景必要的组件,需从Project面板中查找RKCameraRig,然后该预制体拖放到Hierarchy面板中。使用默认配置或根据需求配置相关属性即可。

Tip: RKCameraRig加载路径 Roikd Unity XR SDK/Runtime/Resources/Prefabs/BaseSetting/RKCameraRig

可以打开官方例子uxr001-HeadTracking自行体验
在这里插入图片描述

二、PointableUI组件

PointableUI组件是Master系统用来与UGUI进行交互的。

1.脚本属性说明

在这里插入图片描述
在这里插入图片描述

2.如何使用

需从Project面板中查找PointableUI ,然后该预制体拖放到Hierarchy面板中。

tip: PointableUI 加载路径 Roikd Unity XR SDK/Runtime/Resources/Prefabs/UI/PointableUI/PointableUI

可以打开官方例子:uxr020-RKAdsorbUI 自行体验。
在这里插入图片描述

三、PointableUICurve组件

曲面UI是Master系统的特色之一,实现曲面UI的必须组件是PointableUICurve。

1.脚本属性说明

在这里插入图片描述
在这里插入图片描述

2.如何使用

需从Project面板中查找PointableUICurve,然后该预制体拖放到Hierarchy面板中。

tip: PointableUICurve加载路径 Roikd Unity XR SDK/Runtime/Resources/Prefabs/UI/PointableUI/PointableUI_Curve

四、RKInput组件

RKInput是控制交互的基础管理组件,管理输入事件模块的生命周期;输入模块的初始化、激活、销毁、动态切换等。

1.脚本属性说明

在这里插入图片描述

2.如何使用

需从Project面板中查找RKInput ,然后该预制体拖放到Hierarchy面板中。

tip: RKInput 加载路径 Roikd Unity XR SDK/Runtime/Resources/Prefabs/RKInput/[RKInput]

可以打开官方例子:uxr017-TouchPadRay 自行体验。
在这里插入图片描述

五、RKHand组件

RKHand是手势交互的基础组件,包含手势的远场交互(RayInteractor)、近场交互(PokeInteractor)、手势 Mesh 的渲染等

1.脚本属性说明

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.如何使用

需从Project面板中查找RKInput ,然后该预制体拖放到Hierarchy面板中。
如果你想自定义手势的样式和交互的话,可以将 RKHand 预制体拖拽到场景中,然后修改预制体

tip: RKHand 加载路径 Roikd Unity XR SDK/Runtime/Resources/Prefabs/UI/Interactor/RKHand

可以打开官方例子:uxr015-RKHandGrab 自行体验。
在这里插入图片描述

3.如何禁用手势的远近场自动切换,只用近场(PokeInteractor)交互或者只用远场(RayInteractor)交互

虽然SDK 默认提供了自适应场景的远近场切换解决方案,但是在某些场景需求下,不需要自动切换的需求 为了满足该需求,Rokit也提供了两种方案。

1: 只是在某些场景禁用动态切换逻辑

首先需要禁用 RKHand/LeftHandInteractors 和 RKHand/LeftHandInteractors 上的 InteractorStateChange 脚本

调用 InteractorStateChange.OnPokeInteractorUnHover 事件,激活场景的远场交互

调用 InteractorStateChange.OnPokeInteractorHover 事件,激活场景的近场交互

可以根据自己的需求在需要的时候选择激活 RKHand/LeftHandInteractors 和 RKHand/LeftHandInteractors 上的 InteractorStateChange 脚本来恢复动态的切换逻辑

2: 只需要某种交互,不需要恢复动态切换

移除 RKHand/LeftHandInteractors 和 RKHand/LeftHandInteractors 上的 InteractorStateChange 脚本

根据自己的需求保留 RKHand/LeftHandInteractors 和 RKHand/RightHandInteractors 下的某种交互

六、Rokid AR系列教程

如果你想学习更多系列教程,请阅读以下博客:
1、基于Unity3D的Rokid AR Glass项目开发实战教程

2、Rokid官方组件详解

相关文章:

深入了解Rokid UXR2.0 SDK内置的Unity AR Glass开发组件

本文将了解到Rokid AR开发组件 一、RKCameraRig组件1.脚本属性说明2.如何使用 二、PointableUI组件1.脚本属性说明2.如何使用 三、PointableUICurve组件1.脚本属性说明2.如何使用 四、RKInput组件1.脚本属性说明2.如何使用 五、RKHand组件1.脚本属性说明2.如何使用3.如何禁用手…...

Lottery 分布式抽奖(个人向记录总结)

1.搭建(DDDRPC)架构 DDD——微服务架构(微服务是对系统拆分的方式) (Domain-Driven Design 领域驱动设计) DDD与MVC同属微服务架构 是由Eric Evans最先提出,目的是对软件所涉及到的领域进行建…...

我的AI音乐梦:ChatGPT帮我做专辑

​🌈个人主页:前端青山 🔥系列专栏:AI篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来ChatGPT帮我做音乐专辑 嘿,朋友们! 想象一下,如果有个超级聪明的机器人能帮你写…...

新手-前端生态

文章目录 新手的前端生态一、概念的理解1、脚手架2、组件 二、基础知识1、HTML2、css3、JavaScript 三、主流框架vue3框架 四、 工具(特定框架)1、uinapp 五、组件库()1、uView如何在哪项目中导入uView 六、应用(各种应…...

C#中的类

声明类 public class MyClass{ ​} 注意 类里面 的属性可以输入prop之后再按Tab键 然后再按Tab进行修改属性的名称等等 Random rnd new Random(); int arnd.Next(3); 范围是0-3的整数 但是不包含3 Random rnd new Random(); int arnd.Next(2,3); 只包含2一个数 int?[]…...

探索数据库编程:基础与进阶之存储函数

引言❤️❤️ 数据库存储过程是一组为了执行特定功能的SQL语句集合,它被存储在数据库中,可以通过指定存储过程的名称并给出相应的参数来调用。使用存储过程可以提高数据库操作的效率,减少网络传输量,并且可以封装复杂的逻辑。 编…...

Count数据转换为TPM数据方法整理-常规方法、DGEobj.utils和IOBR包

在正式分析之前,对于数据的处理是至关重要的,这种重要性是体现在很多方面,其中有一点是要求分析者采用正确的数据类型。 对于芯片数据,原始数据进行log2处理之后可以进行很多常见的分析,比如差异分析、热图、箱线图、…...

简易限流实现

需求描述 写一个1秒两个的限流工具类,2r/s 使用semaphore 代码实现-类似令牌桶算法 public class LimitHelper {private int maxLimit;private Semaphore semaphore;private int timeoutSeconds;public LimitHelper(int maxLimit, int timeoutSeconds) {this.max…...

用Qwt进行图表和数据可视化开发

目录 Qwt介绍 示例应用场景 典型QWT开发流程 举一些Qwt的例子,多绘制几种类型的图像 1. 绘制折线图 (Line Plot) 2. 绘制散点图 (Scatter Plot) 3. 绘制柱状图 (Bar Plot) 4. 绘制直方图 (Histogram) Qwt介绍 QWT开发主要涉及使用QWT库进行图表和数据可视化…...

sqlalchemy使用with_entities返回指定数据列

sqlalchemy使用with_entities返回指定数据列 在 SQLAlchemy 中,with_entities 方法用于指定查询语句返回的实体(Entity)或列(Column)。它允许你限制查询的返回结果,只包含你感兴趣的特定字段或实体 使用方法 假设有一个名为 User 的 SQLAlchemy 模型类,包含以下字段:…...

express

文章目录 🟢 Express⭐️ 1.初始Express✨安装✨使用Express 搭建一台服务器⭐️2.Express-基本路由✨1.使用字符串模式的路由路径示例:✨2.使用正则表达式的路由路径示例:✨3.中间件浅试(demo)⭐️3.Express-中间件✨1.应用级中间件✨2.路由级中间件✨3.错误处理中间件✨4…...

HTML网页大设计-家乡普宁德安里

代码地址: https://pan.quark.cn/s/57e48c3b3292...

深度学习:从数据采集到模型测试的全面指南

摘要 随着人工智能和大数据技术的迅猛发展,深度学习已成为解决复杂问题的有力工具。然而,从项目启动到模型部署,包含了数据处理和模型研发的多个环节,每个环节的细致和严谨性直接决定了最终模型的性能和可靠性。本论文详细探讨了…...

Excel第29享:基于sum嵌套sumifs的多条件求和

1、需求描述 如下图所示,现要统计12.17-12.23这一周各个人员的“上班工时(a1)”。 下图为系统直接导出的工时数据明细样例。 2、解决思路 首先,确定逻辑:“对多个条件(日期、人员)进行“工时”…...

Elasticsearch:Node.js ECS 日志记录 - Morgan

这是之前系列文章: Elasticsearch:Node.js ECS 日志记录 - Pino Elasticsearch:Node.js ECS 日志记录 - Winston 中的第三篇文章。在今天的文章中,我将描述如何使用 Morgan 包针对 Node.js 应用进行日子记录。此 Morgan Node.j…...

ChatGPT对话:Python程序自动模拟操作网页,无法弹出下拉列表框

【编者按】需要编写Python程序自动模拟操作网页。编者有编程经验,但没有前端编程经验,完全不知道如何编写这种程序。通过与ChatGPT讨论,1天完成了任务。因为没有这类程序的编程经验,需要边学习,边编程,遇到…...

Unity 之 抖音小游戏集成排行榜功能详解

Unity 之 抖音小游戏集成排行榜功能详解 一,前言1.1 为游戏设计利于传播的元素​2.2 多人竞技、社交传播​二,集成说明2.1 功能介绍2.2 完整代码2.3 效果展示三,发现的问题和迭代计划一,前言 对于 Unity 开发者而言,在开发抖音小游戏时集成排行榜功能是提升游戏社交性和玩…...

【学习笔记】Redis学习笔记——第13章 客户端

第13章 客户端 redisServer通过clients链表保存全部客户端的状态信息。 13.1 客户端属性 13.1.1 套接字描述符 fd:-1时伪客户端,载入AOF文件或Lua脚本。 13.1.2 名字 默认无客户端名,可以通过SETNAME命令设置。 13.1.3 标志 flags&am…...

Android中的JSON解析:从基础到实践

在Android应用开发中,JSON(JavaScript Object Notation)是最常用的数据交换格式之一,因其轻量级、易读性强以及跨平台兼容性好等特点,被广泛应用于服务器与客户端之间的数据传输。解析JSON数据对于提取和处理这些信息至…...

力扣-回溯法

何为回溯法? 在搜索到某一节点的时候,如果我们发现目前的节点(及其子节点)并不是需求目标时,我们回退到原来的节点继续搜索,并且把在目前节点修改的状态还原。 记住两个小诀窍,一是按引用传状态…...

240713_昇思学习打卡-Day25-LSTM+CRF序列标注(4)

240713_昇思学习打卡-Day25-LSTMCRF序列标注(4) 最后一天咯,做第四部分。 BiLSTMCRF模型 在实现CRF后,我们设计一个双向LSTMCRF的模型来进行命名实体识别任务的训练。模型结构如下: nn.Embedding -> nn.LSTM -&…...

python requests关闭https校验

python requests关闭https校验 import requests# 关闭SSL验证 requests.get(https://***.com, verifyFalse)...

PG大会周五于杭州举办;Pika发布4.0;阿里云MySQL上线Zero-ETL集成能力

重要更新 1. PostgreSQL中国技术大会举行12日(周五)于杭州举办,是PostgreSQL社区年度的大会,举办地点:杭州君尚云郦酒店(杭州市上城区临丁路1188号),感兴趣的可以考虑现场参加 ( [1]…...

虚拟机vmware网络设置

一、网络分类 打开vmware workstation网络编辑器可以知道有三种网络类型,分别是:桥接模式、nat模式、仅主机模式。 1、桥接模式 桥接模式是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下, 类似于把物理主机虚拟为一个交换机, 所有设…...

数学建模国赛入门指南

文章目录 认识数学建模及国赛认识数学建模什么是数学建模?数学建模比赛 国赛参赛规则、评奖原则如何评省、国奖评奖规则如何才能获奖 国赛赛题分类及选题技巧国赛赛题特点赛题分类 国赛历年题型及优秀论文 数学建模分工技巧数模必备软件数模资料文献数据收集资料收集…...

Java基础之集合

集合和数组的类比 数组: 长度固定可以存基本数据类型和引用数据类型 集合: 长度可变只能存引用数据类型存储基本数据类型要把他转化为对应的包装类 ArrayList集合 ArrayList成员方法 添加元素 删除元素 索引删除 查询 遍历数组...

深度学习和NLP中的注意力和记忆

深度学习和NLP中的注意力和记忆 文章目录 一、说明二、注意力解决了什么问题?#三、关注的代价#四、机器翻译之外的关注#五、注意力(模糊)记忆?# 一、说明 深度学习的最新趋势是注意力机制。在一次采访中,现任 OpenAI 研…...

自用的C++20协程学习资料

C20的一个重要更新就是加入了协程。 在网上找了很多学习资料,看了之后还是不明白。 最后找到下面这些资料总算是讲得比较明白,大家可以按照顺序阅读: 渡劫 C 协程(1):C 协程概览C20协程原理和应用...

【C++】优先级队列(底层代码解释)

一. 定义 优先级队列是一个容器适配器,他可以根据不同的需求采用不同的容器来实现这个数据结构,优先级队列采用了堆的数据结构,默认使用vector作为容器,且采用大堆的结构进行存储数据。 (1)在第一个构造函数…...

华为模拟器防火墙配置实验(二)

一.实验拓扑 二.实验要求 1,DMZ区内的服务器,办公区仅能在办公时间内(9:00 - 18:00)可以访问,生产区的设备全天可以访问. 2,生产区不允许访问互联网,办公区和游客区允许…...