IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 面向MR眼镜的手势交互(一)手势交互定义和相关产品介绍 -> 正文阅读

[游戏开发]面向MR眼镜的手势交互(一)手势交互定义和相关产品介绍

前言????????

????????很久没有动笔写博客了,趁着元宇宙的概念还火热着,聊一聊面向ARVR眼镜的手势交互。还在读研的时候就做过一些手势相关的课题,也热衷于玩一些和手势交互相关的硬件。刚工作的前几年主要在做一款AR投影仪(影见),做了些3D物体姿态估计和图像识别的工作,从传统机器学习、深度学习到部署到终端的链路都有了一些经验和积累。

????????最近几年主要负责手势交互相关的算法,面向的是国内各家AR眼镜,最终目标是集成到AR眼镜的系统层,替代手柄完成绝大部分交互需求。目前阶段性的一个成果是和Nreal(国内一款优秀的AR眼镜)合作,将我们的手势能力集成到了Nreal的官方SDK,并迭代了一个版本。虽然距离真正意义上的自然交互还有挺长的路,但在国内范围肯定是能打的,有兴趣可以去体验下Nreal SDK1.7.0版的手势功能(链接),非常期待反馈意见和建议。

联系我: zmdsjtu@163.com

正文

????????说起手势交互,相信行业内的小伙伴第一反应是HoloLens 2。不得不说微软真的是YYDS,手势交互无论从交互精度、算法效率、算法功耗还是从交互直观体验等等各个方面来看,都很难找到能打的。本文会简单介绍HoloLens的交互设计,在本系列的后续文章中会根据近几年微软的论文详细阐述HoloLens手势的算法原理(先打个预告给自己点动力码字)。

????????除了HoloLens外,另外一家必须要拧出来讲的就是Meta(原Facebook)的Quest 2,手势交互也做得非常好,可与微软比肩,本文中的很多精美Gif都是出自于Quest旧版的交互设计指南。除了这两家顶流外,也会介绍下Ultraleap的一些交互设计。

????????文章的最后会以Nreal为例分析手势交互设计以及分享一些Demo效果。

手势交互需要解决的问题

????????首先需要抛出的问题是——手势交互在ARVR里要解决哪些问题?

????????这里参考了Quest的交互设计指南,可能随着MR技术的发展会有一些更精细的问题抛出来,但是手势交互至少需要解决以下几个问题:

  • 如何选中一个虚拟物体
  • 如何控制和移动一个物体
  • 如何旋转一个物体
  • 如何缩放一个3D物体
  • 系统功能(Home键,类比于windows键)

Microsoft HoloLens 2

????????手势基于深度摄像头(Auzre Kinect)实现,采用优化的方法完成手势的姿态估计(详细原理后续文章会进行分析),运行效率极高(运行在DSP上,算力只有4GFLOPS[1],相当于iphone7的百分之一)。允许一定程度的双手交互,是目前已知眼镜中双手交互的天花板,也是最近很多年唯一一家以手势作为主要交互方式的MR眼镜。下面介绍几种主要的交过模式:

官方介绍文档:链接本能交互介绍(这个页面里有个介绍视频推荐看下)

选中/点击操作

  • 每伸出的指头都是一个3D碰撞体,配合视觉反馈完成点击操作

  • 【近距离】本能手势,针对不同尺寸的物体支持捏/抓等三种程度手势

  • 【远距离】从手掌发射射线,构成“光标”,pinch动作选中,松开释放

移动

  • pinch操作选中,随着手势移动(图中的UI本质上还是一个3D面片,其他3D物体类似)

?旋转和缩放

  • ?【基于按钮的单手旋转和缩放】本质上将旋转和缩放做成了调节按钮,近距离捏合,远距离射线选中均可

  • ?【单手旋转】利用手掌的旋转信息控制物体旋转

  • 【双手旋转和缩放】双手两个捏合的3D点,控制物体缩放和旋转

?系统手势

  • 一代“开花”手势映射到系统功能上(现在主流不这么做了)
  • 二代在手腕上加了一个按钮,可以用另外一个手点击或者看向win键捏合手指

Meta Quest 2

????????Quest2,VR领域内的扛把子,我自己也没忍住买了一个(真香),裂墙推荐看下他们官方的介绍:链接。Quest基于四个灰度摄像头完成手势交互的识别[2],算法运行效率超过60FPS(目前的beta版本已经可以体验),是一套基于深度学习的方案。

????????先感受一个精美的GIF:

? ? ? ? Quest官网有一张图很直观介绍了ARVR场景里手势交互的切换,可预见的主流的MR眼镜都会按这套来设计手势交互。更具体的一些交互介绍可以接着往后看

选中/点击操作

  • 近距离和远距离,和hololense很像
  • 远距离本质上也是射线的模型,显示层面有一些修改(挺有设计感的)

?移动

  • pinch选中物体后配合手的运动和松开即可完成物体的移动

?旋转

  • 【全自由度单手旋转】利用手掌旋转控制物体运动(抓着物体一起转)
  • 【限定自由度单手旋转】按钮+拖拽映射到物体的单个自由度

?缩放

  • 和HoloLens一样,很直观,双手的两个3D点控制3D物体的旋转和缩放
  • 单手+按钮的形式实现物体的缩放

?系统手势

  • 手掌面对用户,当指尖变蓝的时候捏合,唤起系统功能

Ultraleap?

????????用一句话介绍一下——收购了LeapMotion。

????????主要的交互设计看上面两家就够了,这家的官方文档也值得一看。下面两张图可以直观感受下AR眼镜的手势交互范围(左边是leapmotion,右边是ultraleap改建的双目红外版)。后面会有一些从网上搜集的Demo片段,可以直观感受下各种交互。

Ultraleap hand tracking interaction zone top view

Ultraleap hand tracking interaction zone side view

?选中+移动

?碰撞+Button

?全自由度旋转

?远距离选中+移动

这很leapmotion?

我们的手势算法效果(已接入到Nreal SDK)

? ? ? ? 目前我们的手势已经接入国内多家AR眼镜,也有望接入更多的MR眼镜和其他的硬件平台,有兴趣的话可以聊一聊。? ? ? ??

????????我们的手势基于双目灰度进行实现,可以检测手势21关键点3D位置、旋转信息和常用的手势类别信息,驱动模型手、mesh手直观上效果也不错。目前手势兼容绝大部分安卓平台,算法运行在高通DSP上,其他手机平台会自动切换到GPU。以高通888为例,双手DSP耗时整个链路只需要10ms。这个视频是目前在研的mesh手,可以看到,还是很稳定和自然的。

mesh手快出师了

????????基于我们的手势算法+Nreal SDK在youtube上已经有了不少Demo,可以看到基本可以完成绝大部分交互操作了。

基于双目灰度3D手势SDK各种手势Demo

? ? ? ? 另外我们在移动端也有不少积累,单目3D手很早就挺稳了,更多的一些效果视频可以关注:链接

? ? ? ? 非常欢迎留言和讨论。

Reference

[1]The Phong Surface: Efficient 3D Model Fitting using Lifted Optimization. ECCV2020

[2]MEgATrack: Monochrome Egocentric Articulated Hand-Tracking for Virtual Reality.

[3]本能交互 - Mixed Reality | Microsoft Docs

[4]https://developer.oculus.com/resources/hands-design-intro/

[5]Welcome to Ultraleap Developer Resources - Ultraleap documentation

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-11-14 22:03:23  更:2021-11-14 22:03:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/28 0:46:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码