设计

手势

更新时间: 2026年3月13日
探索如何用手势来增强体验。本页面重点介绍作为一种沉浸式体验输入方式的手势。

用途

人类用手势与其周围环境进行有效互动,从而促进工具使用、交流和触觉探索等任务。
同样,在沉浸式体验中,手势也是一种重要的输入方式。这些手势通过反映其在现实世界中的作用以及通过间接控制虚拟内容的手势来扩展其作用,从而促进自然互动。
GIF of hand usage

术语

以下是需要熟悉的不同部分、特征和常用术语:
Diagram of a hand with terms labeled
关节
手部关节具有灵活性和机动性。在 XR 中,将在代码中引用这些关节以确定互动。请参阅上图。
手腕
连接手和前臂的关节,通常在代码中用于追踪手部位置。
手指和拇指
人手的五根指头包含四根手指和一根可对握的拇指,是进行触觉互动的重要部位。
抖动
双手的虚拟呈现可能出现的高频率、小幅度且往往不受欢迎的移动或晃动现象,即使用户的真实双手保持静止或平稳移动时亦然。
内向外身体追踪 (IOBT)
XR 设备(例如 Meta Quest 头戴设备)中使用的一种基于计算机视觉的技术,仅利用头戴设备内置的摄像头来估算和追踪用户的身体姿势。

互动 SDK 概览

互动 SDK(即 ISDK [UnityUnreal])是一个功能强大的工具包,旨在简化和增强沉浸式体验中手势追踪和手势互动的集成。借助 ISDK,开发者可以轻松地将最佳实践互动添加到他们的应用程序中,确保提供出色的精致度和即用性。SDK 中包含的所有互动组件均经过精心调试,在多个原型上反复测试,并通过用户研究进行验证,代表了互动设计的当前尖端水平。如需查看有关可用互动详情的表格,请参阅按引擎列出的 ISDK 互动可用性

互动 SDK 的优势

  • 节省开发者精力和时间:在应用中利用 ISDK,您可免除设计完善互动系统的繁重工作。ISDK 让构建适用于控制器和手势追踪的互动变得更轻松快捷。
  • 仅使用需要的功能:互动 SDK 是一个模块化的资源库,这意味着您只需使用实现体验所需的组件,并根据需要自定义它们。
有关所有输入模态及其相应输入映射的全面概览,请访问以下页面:输入映射

按引擎列出的 ISDK 功能和互动可用性

下方详细说明了互动 SDK 中可用的功能和互动。

ISDK 功能

功能描述UnityUnreal空间 SDK
手势追踪
手势追踪支持使用手势作为输入方法
快运动模式 (FMM)
改善对健身和节奏应用中常见的快速动作的追踪能力 (60Hz)
宽运动模式 (WMM)
即使手部超出头戴设备的视野范围,仍可追踪手部动作并准确呈现手势
多模态
同时追踪双手和控制器
触摸感应
在使用控制器时提供逻辑手势
OpenXR 手部骨架
支持标准版 OpenXR 手部骨架

ISDK 互动

互动描述UnityUnreal空间 SDK
拿取
允许用户拿取虚拟对象
手部姿势
允许开发者为拿取的对象定义理想的手部姿势
拿取变换
允许用户缩放或旋转拿取的对象
拿取表面
允许用户使用拿取的对象
贴合
使拿取的对象在释放时贴合到理想位置
抛掷
使拿取的对象在释放时被抛出
光线
允许用户从远处选择按钮或滚动窗口
允许用户戳按钮或滚动窗口
远距离拿取
允许用户从远距离拿取虚拟对象
姿势检测
允许开发者检测用户何时做出特定姿势
瞬移移动
允许用户在虚拟空间中通过瞬移来移动和转向
平滑移动
允许用户在虚拟空间中平滑地移动和转向
触摸拿取
实现更符合物理学的拿取操作
手势检测
允许开发者检测用户何时做出特定手势
微手势
支持用户执行微手势操作
如需详细了解互动类型的设计信息和最佳实践,请参阅光线投射触摸抓取

设计

本部分为基于手部的互动技术提供指导。探索输入映射,了解设计原则,考虑人体工学因素,并了解基本的允许事项和禁止事项。

互动

探索用手作为输入模态的各种输入功能和互动方式:
定位
用手定位对象有两种方式:直接触摸可互动的对象(类似于现实生活中)或间接(通过光线投射)。
选择
让用户通过执行如轻触手势,用手选择或激活可互动的对象。
姿势
手部关节协调成特定姿势/方向以传达某一特定动作或命令的静态时刻。例如:捏拉、抓取和自定义姿势。
手势
指手做出的特定动作(姿势序列)。例如,向某个方向挥手的滑动手势。
触发器
触发将手从“空闲”状态切换为“活动”状态。这些切换通过姿势或手势完成。

设计原则

本部分将探讨为手部输入模态塑造直观且用户友好的互动的基本概念。
可用性
手势的存在使用户期望至少能模仿真实世界的能力,并有可能赋予超能力。用户期望能够拿起对象、按下按钮并执行超越现实范围的操作。
辅助功能
手势输入的设计应考虑实现无障碍访问所需的辅助功能。对于手部活动受限的用户,应提供替代输入方式或自适应控制器。
多模态
多模态互动是指提供控制器、手势、语音等多种输入模态供用户进行互动。通过将多种模态整合到应用程序中,用户可以在特定时刻自然地选择最适合自己的互动方式,从而享受体验。这样就能创造出更加流畅和愉悦的体验,并增强辅助功能。
可用功能
提供独特的可用功能、反馈和指标至关重要。例如,当用户与对象互动(例如拿起对象)时,他们应该立即收到清晰的视觉和听觉提示,确认该操作已成功完成。这增强了用户对布景的了解和互动。
记住,手势不是控制器
简单地调整控制器等输入设备现有的互动并将其应用于手势追踪,这的确非常诱人。但这一过程会将人员限制在已经规划好的领域,并且可能会导致使用控制器互动感觉更好,而错失了手势的优势。相反,应将注意力集中在手势作为输入的独特优势上,并添加设备或虚拟工具,让用户能够更成功。
提高可用性的限制
手部的活动方式和姿势实际上是无限的。这为我们提供了大量的机会,因此请特别注意随附的守则,以了解各种限制。

例如:像手部用户界面这样的组件,建议将用户界面放在手部的某些区域。推荐这些区域的原因是,如果一只手过多地遮挡另一只手,手势追踪就会出现困难。这些限制有助于提高精准度,实际上也使系统导航或完成互动变得更容易。

将控制器互动映射到手势

以下是将控制器互动映射到手势的一些建议:
控制器互动手势
用控制器尖端触碰
选择(直接)
用食指触碰
触发器按钮
选择(间接)
食指轻触(捏拉)
拿取按钮
拿取/握住(直接和间接)
手掌拿取或按住捏拉
摇杆
移动
微手势
菜单按钮
打开/关闭菜单
右手系统手势
菜单按钮
打开/关闭应用菜单
左手系统手势
A 按钮
跳跃
微手势
B 按钮
取决于应用/环境
取决于应用/环境
X 按钮
取决于应用/环境
取决于应用/环境
Y 按钮
取决于应用/环境
取决于应用/环境

舒适度

位置

在设计体验时,重要的是要确保用户尽可能保持中立和放松的身体姿势。理想情况下,用户应该能够与系统互动,同时保持手臂靠近身体,肘部与臀部成一直线。这样可以获得更舒适的体验,同时将手保持在一个相对于追踪传感器的理想位置。

距离

互动应该尽量减少肌肉负担,所以尽量不要让人们过于频繁地伸展到离身体太远的地方。在虚拟空间中排列信息时,将用户最常与之互动的功能放在更靠近身体的地方。越不重要的功能,可以放在离身体越远的地方。

后续步骤

更多有关手势的设计资源

核心互动类型

  • 光线投射:与远距离对象进行互动。
  • 触摸:直接通过触摸与对象互动。
  • 抓取:抓取、移动和操纵虚拟对象。

设计体验

探索更多设计指南,了解如何为应用设计卓越的体验:

开发体验

如需技术信息,请从以下这些开发指南入手:

Meta 空间 SDK

Unity

Unreal