HoloLens开发笔记之Gesture input手势输入
手势是HoloLens三个首要输入形式之一。一旦你使用凝视定位了一个全息图像,手势允许你与它交互。手势输入允许你使用手或者点击器原生地与全息图像交互。
手势之外,你也可以在应用中使用语音输入来交互。
手势识别 Hand recognition
HoloLens通过追踪手来实现手势识别。HoloLens能够明白手什么时候准备好了(竖起食指手背面向脸)或者点击(手背向脸食指点下)。当手处于其他姿势时,HoloLens将会忽略它们。
HoloLens在设备前方的锥形范围内追踪手部运动,这片区域被称为手势框(gesture frame),这拓展了全息图像显示视图的上下左右边界。这允许你手势输入时,可以舒适地保持着手臂弯曲。当使用点击器时,就不必将手保持在手势框之中。
对于每个HoloLens识别的手,你能够得到它的位置(无方向)和他的点击状态。当手接近手势框边缘时,你能得到一个方向向量,你可以提醒用户将手移回HoloLens可识别的区域。
交互 Interactions
HoloLens的核心交互是点击(press)、松开(release)和绽开(bloom)手势。
点击和松开 Press and release
你选中和激活全息图像的首要方式是air-tap手势,它包含了一个点击和松开手势。

Air-tap手势,首先是指面向了脸点下,这是点击手势;随后食指向上松开,这是松开手势。Air-tap会实现对全息图像的选择,点击器或者语音命令也能做到。
绽开手势 Bloom
Bloom是很特别的系统手势,被用于从全息应用中唤起开始菜单。这和在键盘上点击Windows键或者Xbox手柄上点击Xbox按钮功能类似。

为了做Bloom手势,先攥紧拳头,手心向上,然后五指绽开。通过说:“Hey Cortanna,Go Home”也能唤起开始菜单。注意:你的应用无法刻意响应Bloom手势,因为它只能被系统响应。
手势 Gesture
你的应用可以识别简单点击和松开之外更多的手势。通过移动手或使用点击器,你可以做更多复杂的手势:
- 长按Hold:保持点击手势直到触发系统长按手势阈值
- 操作 Manipulation: 保持点击手势,在3D世界中绝对运动
- 导航 Navigation: 保持点击手势,在一个标准3D立方空间内相对运动
长按手势 Hold
Hold手势和触屏上长按手势类似,被用于执行二级行为,例如拿起一个对象而不是激活它或者显示上下文菜单。
操纵手势 Manipulation
当你想要全息图像1:1响应用户手部移动时,操纵手势能被用于移动、缩放或旋转全息图像。如此的一个用处是使得用户可以在世界中绘制图像或作画。
使用所有的手势时,操纵手势的初始目标应该通过凝视来选中。一旦点击手势开始,通过手部移动的任何对对象的操作都能够被处理,在用户操作全息图像时,从而使得用户得以自由地四处张望。
操纵行为只能使用手势来实现。
导航手势 Navigation
导航手势就像一个虚拟的操纵杆,能够用于UI控件导航,例如弧形菜单。通过点击开始手势,然后在以点击处为中心的标准立方空间中移动手部。你可以沿着X、Y、Z轴移动手部,这回带来数值-1到1的变化,初始位置的值为0.
导航手势可以用于构建基于速度持续滚动或缩放的手势,这和在2D UI上通过按住鼠标滚轮上下移动类似。

定向导航是指在特定轴上识别运动直到此轴上阈值的能力。当应用中开发者启用了多轴运动,这很有用,例如如果一个应用被设置为识别X、Y轴上的运动,但同时X轴被设为定向导航。在这种情况下,如果手也在Y轴上移动,只要他们保持在X轴假想导轨区间上,系统会识别到X轴上的手势移动。
在HoloLens 2D应用内,用户可以使用垂直导航手势来滚动、缩放或在应用内拖拽。为了模拟同样类型的触摸手势,导航手势为应用虚拟了手指触摸,实际体验和触屏上的相应手势类似。用户可以通过切换Holobar上的Scroll/Drag/Zoom工具来显示相应行为。
HoloLens开发笔记之Gesture input手势输入的更多相关文章
- Hololens开发笔记之Gesture手势识别(基本介绍)
手势识别是HoloLens交互的重要输入方法之一.HoloLens提供了底层API和高层API,可以满足不同的手势定制需求.底层API能够获取手的位置和速度信息,高层API则借助手势识别器来识别预设的 ...
- Hololens开发笔记之Gesture手势识别(Manipulation手势控制物体旋转)
Manipulation gesture:保持点击手势,在3D世界中绝对运动 当你想要全息图像1:1响应用户手部移动时,操纵手势能被用于移动.缩放或旋转全息图像.如此的一个用处是使得用户可以在世界中绘 ...
- Hololens开发笔记之Gesture手势识别(Manipulation手势控制物体平移)
Manipulation gesture:保持点击手势,在3D世界中绝对运动 当你想要全息图像1:1响应用户手部移动时,操纵手势能被用于移动.缩放或旋转全息图像.如此的一个用处是使得用户可以在世界中绘 ...
- Hololens开发笔记之Gesture手势识别(手势检测反馈)
本文实现当使用者手出现在Hololens视野范围内时,跟踪手并给出反馈的效果. 1.在Manager上添加HandsManager脚本组件,用于追踪识别手 HandsManager.cs如下(直接使用 ...
- Hololens开发笔记之Gesture手势识别(单击,双击)
本文使用手势识别实现识别单击及双击手势的功能,当单击Cube时改变颜色为蓝色,当双击Cube时改变颜色为绿色. 手势识别是HoloLens交互的重要输入方法之一.HoloLens提供了底层API和高层 ...
- Hololens开发笔记之使用Unity开发一个简单的应用
一.Hololens概述 Hololens有以下特性 1.空间映射借助微软特殊定制的全息处理单元(HPU),HoloLens 实现了对周边环境的快速扫描和空间匹配.这保证了 HoloLens能够准确地 ...
- Hololens开发笔记之连接PC实现资源共享
官网原文介绍:https://developer.microsoft.com/en-us/windows/holographic/using_the_windows_device_portal Hol ...
- Hololens开发笔记之Gaze凝视射线
凝视是HoloLens首要输入方式,形式功能类似于桌面系统的光标,用于选择操作全息对象.然而在Unity中并没有明确的Gaze API或者组件. 概念上来说,Gaze是通过用户头部两眼之间发出一条向前 ...
- Hololens开发笔记:UDP接收数据
Hololens的应用需要与其他设备通信的时候,UDP是比较方便的一种方式,Unity3d 2017.3 C#开发的时候可以用Windows.Networking.Sockets.DatagramSo ...
随机推荐
- iOS开发UI篇—使用嵌套模型完成的一个简单汽车图标展示程序
iOS开发UI篇—使用嵌套模型完成的一个简单汽车图标展示程序 一.plist文件和项目结构图 说明:这是一个嵌套模型的示例 二.代码示例: YYcarsgroup.h文件代码: // // YYcar ...
- yii2.0高级框架配置时打开init.bat秒退的解决方法 (两种方法)
第一种: 这几天刚接触到yii2.0框架,在配置advanced版本时运行init.bat初始化文件时老是闪退: 用cmd运行该文件时显示:The OpenSSL PHP extension is r ...
- appcan.windw.open appcan.frame.open appcan.window.openPopOver evaluateScript
在模拟器上,几种发方式产生的窗口,其实都是iframe. 在根窗口(app打开的第一个)执行JS: try{ appcan.window.evaluateScript( { name: 'root', ...
- 初学DOM树解析xml文件
做了一次设计模式实验的题目: 某软件公司为新开发的智能手机控制与管理软件提供了一键备份功能,通过该功能可以将原本存储在手机中的通信录.短信.照片.歌曲等资料一次性全部拷贝到移动存储介质(例如MMC卡或 ...
- 怎么做一个bat文件
怎么做一个bat文件 | 浏览:639 | 更新:2014-11-25 17:02 1 2 3 4 5 6 7 分步阅读 其实做一个.BAT文件很简单,下面我就以做一个清除系统垃圾.BAT文件为例,给 ...
- 《大象-Think In UML》读书笔记1
大音希声,大象希行. 什么是面向过程?什么是面向对象? 面向过程归纳为结构化程序设计.DFD图.ER模型.UC矩阵等,而面向对象则被归纳为继承.封装.多态.复用等具体的技术.事实上,上述的所有技术都只 ...
- PureLayout和Masonry比较
一年前那时我做iOS开发,为了自动布局适配多种屏幕,我一般使用Masonry,后来偶然地在一个视频教程中发现老师使用了UIView+Autolayout(现在作者改名为PureLayout)自动布局, ...
- PHP中的null合并运算符
project: blog target: null-coalesce-operator-in-php.md date: 2015-12-30 status: publish tags: - Null ...
- 隐匿在iOS文件系统中的隐私信息
说明: . 本文仅供安全学习及教学用途,提及的部分技术带有攻击性,请确保合法使用. . “这些都不是我干的,我就负责说出来.” . 图片仅供参考. . 本文所讨论的内容适用于iOS .4环境,其应用程 ...
- BZOJ 3809 莫队+(分块|BIT)
#include <cstdio> #include <iostream> #include <cstring> #include <algorithm> ...