news 2026/4/16 17:46:57

高通6490之QCHT手/面部跟踪集成及代码优化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
高通6490之QCHT手/面部跟踪集成及代码优化

QCHT手部跟踪集成

QCHT(Qualcomm Compute Hand Tracking)是Snapdragon Spaces SDK的扩展交互工具包,构建在OpenXR手部跟踪之上,提供高级功能如远距离/近距离交互、控制器切换、物理模拟和手势UI。它简化了手部交互的实现,支持虚拟手覆盖、手指针和抓取。

详细步骤
  1. 导入QCHT包

    • 从Snapdragon Spaces Developer Portal下载QCHT Unity Interactions包(.unitypackage或.tgz)。
    • 在Unity中:Assets > Import Package > Custom Package,导入QCHT。
    • 确保已导入Snapdragon Spaces核心SDK和OpenXR插件。
    • Project Settings > XR Plug-in Management > Android > OpenXR:启用Hand TrackingQCHT Interactions功能组。
  2. 场景设置

    • 创建XR Rig:Hierarchy右键 > XR > Room-Scale XR Origin。
    • 添加QCHT Hand Tracking Manager:右键Hierarchy > QCHT > Hand Tracking Manager(或脚本添加QCHT.Interactions.HandTracking.HandTrackingManager)。
    • 添加虚拟手:为左右手添加QCHT Hand Mesh(QCHT > Hand Mesh Left/Right),或使用预制体。
    • 添加交互:为对象添加QCHT Interactable组件(支持Grab、Poke等)。
    • 启用控制器切换:添加QCHT Controller Switch脚本,支持手/控制器无缝切换。
  3. 模拟与测试

    • Editor模拟:Project Settings > XR Plug-in Management > Hand Tracking Simulation > 启用Simulation子系统。
    • 构建APK,部署到支持设备(如XR2头显)。
    • 使用Extended Hand Tracking Sample导入样本场景测试近/远交互。
  4. API使用

    • HandTrackingManager:管理双手数据。
    • Hand:访问关节、姿态(e.g.,Hand.GetJoint(JointId.Wrist))。
    • 事件:OnHandEnter/Exit用于交互。
完整代码示例:QCHTGrabExample.cs

附加到XR Origin,演示QCHT抓取交互。假设有可抓取Cube(添加QCHT Interactable和Rigidbody)。

usingUnityEngine;usingQCHT.Interactions.Core;// QCHT核心命名空间usingQCHT.Interactions.Hands;// 手部命名空间publicclassQCHTGrabExample:MonoBehaviour{publicGameObjectgrabTarget;// 可抓取对象(Cube)privateHandTrackingManagerhandManager;privateHandleftHand,rightHand;voidStart(){// 获取QCHT ManagerhandManager=FindObjectOfType<HandTrackingManager>();if(handManager==null){GameObjectmanagerObj=newGameObject("QCHTHandTrackingManager");handManager=managerObj.AddComponent<HandTrackingManager>();}// 订阅手部事件handManager.OnHandTrackingStarted+=OnTrackingStarted;handManager.OnHandTrackingStopped+=OnTrackingStopped;}voidOnTrackingStarted(){Debug.Log("QCHT Hand Tracking Started");leftHand=handManager.LeftHand;rightHand=handManager.RightHand;}voidOnTrackingStopped(){Debug.Log("QCHT Hand Tracking Stopped");}voidUpdate(){if(handManager.Status!=XRHandTrackingSubsystem.TrackingStatus.Running)return;// 示例:检测捏合抓取if(leftHand!=null&&leftHand.IsPinching){TryGrab(leftHand);}if(rightHand!=null&&rightHand.IsPinching){TryGrab(rightHand);}}voidTryGrab(Handhand){// 简单射线检测抓取Rayray=newRay(hand.PalmPosition,hand.PalmForward);if(Physics.Raycast(ray,outRaycastHithit,0.5f))// 0.5m范围{if(hit.collider.gameObject==grabTarget){grabTarget.transform.SetParent(hand.transform);// 附着手grabTarget.transform.localPosition=Vector3.zero;Debug.Log("Grabbed with "+(hand.IsLeft?"Left":"Right")+" Hand");}}}voidOnDestroy(){if(handManager!=null){handManager.OnHandTrackingStarted-=OnTrackingStarted;handManager.OnHandTrackingStopped-=OnTrackingStopped;}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 11:56:22

那个在DG数据库中将多行指定字段的文本替换操作

将java实践作业\imgs\headIco\全部替换为/upload/avatar/&#xff0c;怎么多行操作sql语句UPDATE 表名 SET 你的字段名 REPLACE(你的字段名, 被替换者字符串, 替换者字符串)UPDATE rolemestable SET HeadSrc REPLACE(HeadSrc, java实践作业\\imgs\\headIco\\, /upload/avatar…

作者头像 李华
网站建设 2026/4/16 12:50:49

基于深度学习的智慧识花系统的设计与实现(源码+万字报告+讲解)(支持资料、图片参考_相关定制)

摘要 深度学习作为机器学习的一个重要分支&#xff0c;经过十多年的研究和发展&#xff0c;在计算机视觉分类、定位、检测和分割方面取得了良好的效果。花卉图像是一种典型的细粒度图像&#xff0c;具有许多复杂的特征&#xff0c;难以区分和识别。使用传统的方法识别花朵图像既…

作者头像 李华
网站建设 2026/4/16 14:36:07

Thinkphp和Laravel框架的精诺企业数字化精益制造生产系统_i36pxop6

目录ThinkPHP与Laravel框架在精诺企业数字化精益制造系统中的应用ThinkPHP框架的应用特点Laravel框架的技术优势系统核心功能与价值项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理ThinkPHP与Laravel框架在精诺企业数字化精益制造系统中的应用 精…

作者头像 李华
网站建设 2026/4/16 13:32:08

医疗OCR用Tesseract稳缩写识别

&#x1f4dd; 博客主页&#xff1a;jaxzheng的CSDN主页 医疗OCR中Tesseract的稳定缩写识别&#xff1a;技术挑战与创新实践目录医疗OCR中Tesseract的稳定缩写识别&#xff1a;技术挑战与创新实践 引言&#xff1a;当缩写成为医疗数据的“隐形障碍” 一、医疗OCR缩写识别&#…

作者头像 李华
网站建设 2026/4/16 13:35:02

专科生必看!8个降AI率工具,高效避坑指南

专科生必看&#xff01;8个降AI率工具&#xff0c;高效避坑指南 AI降重工具&#xff1a;高效避坑的必备利器 随着人工智能技术的快速发展&#xff0c;越来越多的专科生在撰写论文时开始使用AI工具进行辅助。然而&#xff0c;AI生成的内容往往存在明显的“AI痕迹”&#xff0c;不…

作者头像 李华
网站建设 2026/4/16 13:32:00

Linux用户、组创建

#创建指定组ID的xixi组 groupadd -g 3001 xixi#创建指定用户ID的ADMIN用户&#xff0c;并加入进xixi组 useradd -u 3001 -G xixi ADMIN #创建指定用户ID的APP用户&#xff0c;并加入进xixi组 useradd -u 3002 -G xixi APP#设置两用户密码永不过期 chage -M 99999 ADMIN chage -…

作者头像 李华