利用Interaction SDK构建,Meta发布手部追踪Demo《First Hand》
利用Interaction SDK构建的手部追踪演示内容
(映维网Nweon 2022年08月03日)Meta日前正式发布了利用Interaction SDK构建的手部追踪演示内容《First Hand》。这款应用将允许你用双手使用开关、杠杆和虚拟用户界面来解决难题,以及构建机器人手套等等,从而以裸手方式体验直接用手与虚拟世界交互的魅力。
《First Hand》利用Presence Platform的交互组件、手势和工具库Interaction SDK构建,并包含一系列旨在展示裸手交互魅力的交互模型。它通过App Lab发布,是一个开源项目,面向希望在自家游戏和应用中轻松复制类似交互的开发者。
Meta指出,《First Hand》的灵感来自于Touch控制器演示内容《Oculus First Contact》,而《Oculus First Contact》不仅是一种愉快的体验,而且重新定义了与六自由度控制器的交互类型。所以对于《First Hand》,“我们希望同样以类似的方式来激励开发者构建突破性的内容。”
1. 直接交互的力量
建立裸手交互体验需要跨多个约束进行优化:技术(如追踪能力)、生理(如舒适度和疲劳度)和感知(如手-虚拟对象交互表示)。
《First Hand》展示了Meta认为最神奇、最强大、最容易学习、但又适用于众多类别内容的手部交互。团队表示,通过Interaction SDK提供的先进直接触摸启发法(如触摸限制,防止手指意外穿过按钮),与虚拟现实中的2D UI和按钮进行交互感觉非常自然。
这个工具同时展示了SDK提供的多种抓取技术。用手直接与虚拟世界交互有其内在的意义,但团队发现相关交互需要仔细调整才能真正发挥效用。在应用程序中,你可以通过与各种对象交互来进行实验,甚至可以通过用力挤压岩石来真正压碎岩石。
2. 开始使用Interaction SDK的10个技巧
使用Interaction SDK构建双手体验非常简单。以下是团队提供的10条入门建议:
- 在过去,我们需要为游戏中的每个项目手动编写手部姿势,甚至可能需要数次迭代才能使姿势感觉自然。有了Interaction SDK的手势创作工具,你可以启动编辑器,以一种感觉自然的方式伸出手来握住物品,然后记录手势,这样就可以直接使用。记录姿势变得非常简单,在一分钟内我们可以记录比我们需要的更多姿势,然后可以再过滤出一组核心的手部姿势。
- Interaction SDK开箱即支持裸手交互和控制器,其结构允许两个输入系统灵活发挥各自的优势。裸手交互使用一个非常模块化的系统来扩展基本功能,并具有诸如速度追踪和手势识别等其他功能。如果你计划支持裸手交互和控制器,请确保在向裸手交互输入添加更多功能时,将相关功能添加到控制器输入。
- 可以预见的是,Interaction SDK的大部分功能都是由“手”驱动,所以你可以期望在SDK中找到众多需要将“手”链接到功能的领域。为了便于管理,Interaction SDK提供了一个充当真实“手部”对象代理的组件“HandRef”。
- 姿势识别、手势识别和碰撞检测等Interaction SDK的诸多功能都通过IActiveState界面expose它们的功能。这个界面基本上可以根据当前状态返回true或false。多个活动状态可以组合在一起,以触发任意数量的游戏事件。《 First Hand》中的大多数玩法都是以这种方式进行。
- 你可以用与以前完全相同的方式使用Unity UI构建可触摸界面。只需在UI Canvas添加一个PointableCanvas即可。
- “Snap interactions”非常适合放置区域交互和固定项目。在整个体验过程中,它们有被广泛地直接使用,尤其是在手套制作过程中。
- 对于小物体,尤其是没有自然方向或抓取点的物体,使用预先编写的手部姿势可能会受到限制,因为玩家可以随心所欲地握住它们。Interaction SDK的“Touch Grab”功能使用对象的物理形状动态创建手的姿势。《First Hand》在这方面的示例是手套,玩家可以用任何他们觉得自然的方式捡起手套。
- 基本上,Interaction SDK的“Distance Grab”很容易配置一个从手上伸出的圆锥体,然后将其用于选择最佳候选项。当为“Distance Grab”设置项目时,重复使用为常规抓取设置的相同手姿势是有意义的,并且可以节省时间。
- 创建提示来引导玩家进行《First Hand》操作尤其有效。通过Hands through Link,团队可以直接在编辑器中创建动画片段。它们只需非常短的时间即可创建完成,而且可以立即使用。
- 《First Hand》提供了大量的内容,包括交互、效果、音频和独特的游戏元素。Interaction SDK丰富的事件目录改进了对所有事件的触发方式管理。Interaction SDK中的几乎每个功能都提供了链接到其事件的方法,使得触发自定义行为非常容易。