Unity3D Pico VR 手势识别 二
Unity3D Pico VR 手势识别_Cool-浩的博客-CSDN博客
此篇主要讲解怎么手势追踪,手势姿态自定义预制识别,不会导入SDK和配置环境的请看上一章节
环境要求
- SDK 版本:2.3.0 及以上
- PICO 设备型号:PICO Neo3 和 PICO 4 系列
- PICO 设备系统版本:5.7.0 及以上
手部关节定义
PICO SDK 的 “手势追踪” 功能遵循 OpenXR 标准所提出的手势定义规范并支持以下 26 个手部关节点。

值 | 关节名称 | 关节含义 | OpenXR 定义字段 |
| 0 | Palm | 手掌中心点 | XR_HAND_JOINT_PALM_EXT |
| 1 | Wrist | 手腕关节点 | XR_HAND_JOINT_WRIST_EXT |
| 2 | Thumb_metacarpal | 大拇指掌骨关节 | XR_HAND_JOINT_THUMB_METACARPAL_EXT |
| 3 | Thumb_proximal | 大拇指近端骨关节 | XR_HAND_JOINT_THUMB_PROXIMAL_EXT |
| 4 | Thumb_distal | 大拇指远端骨关节 | XR_HAND_JOINT_THUMB_DISTAL_EXT |
| 5 | Thumb_tip | 大拇指顶端骨关节 | XR_HAND_JOINT_THUMB_TIP_EXT |
| 6 | Index_metacarpal | 食指掌骨关节 | XR_HAND_JOINT_INDEX_METACARPAL_EXT |
| 7 | Index_proximal | 食指近端骨关节 | XR_HAND_JOINT_INDEX_PROXIMAL_EXT |
| 8 | Index_intermediate | 食指中端骨关节 | XR_HAND_JOINT_INDEX_INTERMEDIATE_EXT |
| 9 | Index_distal | 食指远端骨关节 | XR_HAND_JOINT_INDEX_DISTAL_EXT |
| 10 | Index_tip | 食指顶端骨关节 | XR_HAND_JOINT_INDEX_TIP_EXT |
| 11 | Middle_metacarpal | 中指掌骨关节 | XR_HAND_JOINT_MIDDLE_METACARPAL_EXT |
| 12 | Middle_proximal | 中指近端骨关节 | XR_HAND_JOINT_MIDDLE_PROXIMAL_EXT |
| 13 | Middle_intermediate | 中指中端骨关节 | XR_HAND_JOINT_MIDDLE_INTERMEDIATE_EXT |
| 14 | Middle_distal | 中指远端骨关节 | XR_HAND_JOINT_MIDDLE_DISTAL_EXT |
| 15 | Middle_tip | 中指顶端骨关节 | XR_HAND_JOINT_MIDDLE_TIP_EXT |
| 16 | Ring_metacarpal | 无名指掌骨关节 | XR_HAND_JOINT_RING_METACARPAL_EXT |
| 17 | Ring_proximal | 无名指近端骨关节 | XR_HAND_JOINT_RING_PROXIMAL_EXT |
| 18 | Ring_intermediate | 无名指中端骨关节 | XR_HAND_JOINT_RING_INTERMEDIATE_EXT |
| 19 | Ring_distal | 无名指远端骨关节 | XR_HAND_JOINT_RING_DISTAL_EXT |
| 20 | Ring_tip | 无名指顶端骨关节 | XR_HAND_JOINT_RING_TIP_EXT |
| 21 | Little_metacarpal | 小指掌骨关节 | XR_HAND_JOINT_LITTLE_METACARPAL_EXT |
| 22 | Little_proximal | 小指近端骨关节 | XR_HAND_JOINT_LITTLE_PROXIMAL_EXT |
| 23 | Little_intermediate | 小指中端骨关节 | XR_HAND_JOINT_LITTLE_INTERMEDIATE_EXT |
| 24 | Little_distal | 小指远端骨关节 | XR_HAND_JOINT_LITTLE_DISTAL_EXT |
| 25 | Little_tip | 小指顶端骨关节 | XR_HAND_JOINT_LITTLE_TIP_EXT |
PICO 手部模型
SDK 提供标准两个手部模型预制体:HandLeft 和 HandRight。单个手模预制体的顶点数为 1209,四边形面数为 1198,三角形面数为 2414

预制体位于 Packages > PICO Integration > Assets > Resources > Prefabs 目录下

自定义手势和事件
你可以自定义手势,然后为手势添加触发事件,丰富应用体验。
使用 HandPoseGenerator 预制体创建手势

点击PXR_Hand Pose Generator new 按钮 会自动创建配置文件,用于存放手势配置

Shapes :组件配置手指姿态。
Bones 组件配置手部关节点之间的关系
Transform 组件配置手部朝向。
具体操作步骤可参考《PICO 创建示例手势 文档》文档。
--------------------------------------------
我这里创建一个
的手势案例展示下
设置参数


下面还可看到创建手势预览
为预制体添加 PXR_Hand Pose 脚本。
在 Track Type 字段处,选择 “ThumbUp” 手势所应用的手。
在 Config 字段处,添加 “ThumbUp” 手势的 Hand Pose Config 文件。

添加手势事件触发函数,包括手势开始事件、手势持续时事件、手势结束事件。

打包 APK 文件至 PICO 设备上运行,体验效果
相关文章:
Unity3D Pico VR 手势识别 二
Unity3D Pico VR 手势识别_Cool-浩的博客-CSDN博客 此篇主要讲解怎么手势追踪,手势姿态自定义预制识别,不会导入SDK和配置环境的请看上一章节 环境要求 SDK 版本:2.3.0 及以上PICO 设备型号:PICO Neo3 和 PICO 4 系列PICO 设备系…...
ubuntu中使用iptables限制端口
脚本 #!/bin/bash#关闭所有端口 echo "关闭所有入口" iptables -P INPUT DROP iptables -P FORWARD DROP#允许所有已建立的连接和相关连接的回复数据包通过 iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT#允许ping iptables -A INPUT -p…...
Orchestrator介绍二 自身高可用性方案
目录 获得 HA 的方法 一 没有高可用性 (No high availability) 使用场景 架构组成 架构图 二 半高可用性(Semi HA) 三 基于共享数据库后端高可用(HA via shared backend) 四 基于Raft协议高可用 五…...
成集云 | 旺店通多包裹数据同步钉钉 | 解决方案
源系统成集云目标系统 方案介绍 随着品牌电商兴起,线上线下开始逐渐融为一体,成集云以旺店通ERP系统为例,通过成集云-旺店通连接器,将旺店通ERP系统多包裹数据同步至钉钉实现数据互通,帮助企业解决了电商发货存在的错…...
什么是字体图标(Icon Font)?如何在网页中使用字体图标?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 字体图标(Icon Font)⭐ 如何在网页中使用字体图标⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&a…...
Blender文件云端GPU渲染
本文介绍如何在 GPU云平台vast.ai 上渲染Blender动画的技术指南,假设你已使用 vast.ai 并知道如何启动实例,这里的重要步骤是为实例选择正确的映像。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 使用 nvidia/cuda:11.4.1-cudnn8-devel-ubuntu2…...
C++——引用
引用的概念 引用不是新定义一个变量,而是给已存在的变量取一个别名,编译器不会因为引用变量而开辟内存空间,它和它引用的变量公用同一块空间。 相当于是给被引用的变量取了一个小名,但是相当于是同一个变量。 类型& 引用变…...
Flask入门一 ——虚拟环境及Flask安装
Flask入门一 ——虚拟环境及Flask安装 在大多数标准中,Flask都算是小型框架,小到可以称为“微框架”,但是并不意味着他比其他框架功能少。Flask自开发伊始就被设计为可扩展的框架。Flask具有一个包含基本服务的强健核心,其他功能…...
接口测试json入参,不同类型参数格式书写
接口json入参,不同类型参数格式 1、String 入参:A(String),B(String) 格式:{"A":"值a","B":"值b"} 示例: 接口测试入参这么…...
go web框架 gin-gonic源码解读03————middleware
go web框架 gin-gonic源码解读03————middleware(context) 今天打完游戏有空整理整理之前看的gin的中间件设计,go的中间件设计相较于前两站还是蛮简单,蛮容易看懂的,所以顺便把context也一起写一下。 中间件是现在w…...
win10电脑记事本在哪里?电脑记事本如何查看字数?
在日常工作中,我们会遇到许多需要记录的信息和事项,而使用电脑记事本工具可以帮助我们方便地保存、管理这些内容。无论是记录工作会议的要点、制定工作计划,还是记录灵感和创意,电脑记事本都是非常实用的工具。 那么win10电脑记事…...
【微服务】06-安全问题
文章目录 1.反跨站请求伪造1.1 攻击过程1.2 攻击核心1.3 如何防御1.4 使用AntiforgeryToken机制来防御用到的类 2. 防开发重定向共计2.1 攻击过程2.2 攻击核心2.3 防范措施 3.防跨站脚本3.1 攻击过程3.2 防范措施 4.跨域请求4.1 同源与跨域4.2 CORS过程4.2 CORS是什么4.3 CORS请…...
js的this指向问题
代码一: 这段代码定义了run函数、obj对象,然后我们把run函数作为obj的方法。 function run(){console.log(this);}let obj{a:1,b:2};obj.runrun;obj.run(); 那么我们调用obj的run方法,那么这个方法打印的this指向obj。 分析:即…...
Redis常用数据类型及命令
Redis 常用数据类型 常用数据类型 主要是指value类型 key都是字符串类型的 各种数据类型对应的特点 应用场景 哈希:一般来存储一些对象 列表:存一些跟顺序有关系的数据,比如朋友圈点赞 集合:一般用来做运算,交集&a…...
软件工程(六) 面向对象分析(OOA)之UML图特点
1、UML 面向对象分析里面有一个非常重要的工具叫UML,UML不仅在工作中非常重要,在考试当中也是非常重要的,即作为上午综合体,又大概率又会出现在下午的案例分析中,作为一个25分的大题。 UML叫做统一建模语言,它主要用于需求分析和软件的设计,来做一些模型的制作。比如我…...
QT 消息对话框按钮显示
前言 搞QT嘛,大多数都是军工。都要国产化,而且消息对话框的按钮的英文也不是很得劲,所以需要汉化。使用静态函数的按钮就是显示英文,汉化的代码如下。 void Widget::on_pushButton_clicked() {QMessageBox box(QMessageBox::Inf…...
平衡二叉树及其应用详解
平衡二叉树 定义与性质 平衡二叉树(Balanced Binary Tree)是计算机科学中的一种数据结构,它是二叉排序树的一种特殊情况。 平衡二叉树满足以下性质: 左子树和右子树的高度差不超过 1。也就是说,对于任意节点&#…...
vue3+ ts ts语法在script写不知道为啥一直报错
在vue3页面中写ts语法 发现识别不了 一直报错 1.出现这种问题的话,首先查看自己写的有没有问题,没有问题的话 2.再查看 script里边有没有写 lang"ts" <script setup lang"ts">解析 setup:是vue3在单文件组件 (SFC) 中使用 composition …...
c#写的端口监听,程序退出后,再次运行提示端口占用,且进程不存在
我用c#写了一个监听29999端口,进程结束后再次启动发现端口被占用,但是运行netstat -ano | findstr 29999找到进程ID后,却没有这个进程 经查询这个监听29999进程虽然没了,但是要找到他的父进程,把父进程关闭了才可以,参…...
跨域案例go gf ,请求代理,前端请求后端A转发给多个后端B
跨域案例go gf ,请求代理,前端请求后端A转后端B 案例:从前端请求后端A(路径携带argusx),后端A转发请求到多个不同地区(可一个)后端B(切掉argusx,其他不变进行请求)&…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
