当前位置: 首页 > 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官方组件详解

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Python强大的数据转换功能库之awswrangler使用详解
  • 读人工智能全传08人工智能的今天
  • 容联七陌智能客服助力企业出海无忧,拓展全球
  • 护佑未来!引领儿童安全新时代的AI大模型
  • Qt 线程同步机制 互斥锁 信号量 条件变量 读写锁
  • git 的cherry-pick选择性提交
  • YOLO主干增强作用及代码
  • OpenCV 车牌检测
  • 第15章 奇异值分解:习题解答及其案例
  • 案例分享:Qt modbusTcp调试工具(读写Byte、Int、DInt、Real、DReal)(当前v1.0.0)
  • html5路由如何在nginx上部署(vite+vue3)
  • 每日一练习(复习昨天的知识)
  • 【VUE基础】VUE3第五节—核心语法之ref标签、props
  • 《警世贤文》摘抄:勤奋篇、取财篇、疏财篇、是非篇、安心篇、防忧篇(多读书、多看报、少吃零食多睡觉)
  • 解析Spring Boot中的数据迁移工具
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • ES10 特性的完整指南
  • Git的一些常用操作
  • Linux下的乱码问题
  • Solarized Scheme
  • 构建二叉树进行数值数组的去重及优化
  • 数组的操作
  • 一个SAP顾问在美国的这些年
  • kubernetes资源对象--ingress
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 国内开源镜像站点
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ‌U盘闪一下就没了?‌如何有效恢复数据
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #Linux(make工具和makefile文件以及makefile语法)
  • #NOIP 2014# day.1 T2 联合权值
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • ( 10 )MySQL中的外键
  • (2)空速传感器
  • (2024,Flag-DiT,文本引导的多模态生成,SR,统一的标记化,RoPE、RMSNorm 和流匹配)Lumina-T2X
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (bean配置类的注解开发)学习Spring的第十三天
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (第61天)多租户架构(CDB/PDB)
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • .CSS-hover 的解释
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .net core docker部署教程和细节问题
  • .NET WPF 抖动动画
  • .NET 服务 ServiceController
  • .NET 项目中发送电子邮件异步处理和错误机制的解决方案
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NET单元测试使用AutoFixture按需填充的方法总结
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .NET开源快速、强大、免费的电子表格组件