精确捕捉手部姿势,Valve 推出 SteamVR 骨骼输入系统

映维网 2018年06月22日Valve在5月份发布了全新的SteamVR输入系统,其可以帮助开发者更轻松地支持现有和未来的控制器,允许玩家更容易定制自己的控制方案,同时支持硬件厂商继续创新VR输入。但对于独特于VR的控制器输入方面,Valve当时有一个地方没有提及:控制器提供关于玩家身体正在做什么的额外信息。当前的硬件可以告诉我们很多关于用户双手正在做什么的信息,以及他们手指的姿势,而随着行业的继续创新,这种信息只会变得更加精确。为了加速这一创新,Valve宣布推出SteamVR Skeletal Input(骨骼输入)的第一个beta版本。

Skeletal Input系统将允许控制器厂商精确捕捉用户手部的姿势,并且将其作为动画数据流提供给正在运行的应用程序。应用开发者可以利用这一数据流单独制作用户角色的手部动画,或者说结合自己的动画。

这意味着用户将能够在最喜爱的游戏中获取对投资全新VR控制器的全部收益,无需开发者发布补丁以支持新控制器。当发行游戏时,应用开发者无需为他们计划支持的每个控制器创建独特的动画,也不需要发布补丁来支持新控制器。硬件厂商则可以继续在这个领域进行创新,编写他们的驱动程序,以便控制器可以配合任何支持新Skeletal Input系统的游戏。

控制器驱动程序将能向应用程序提供两个动画流:一个动画流旨在尽可能准确地追踪用户手部的估计姿势,这通常意味着用户要手持控制器;第二个动画流则旨在为手部提供一系列的动作,就好象没有控制器碍手碍脚一样,而这非常适合当前用户角色没有握持任何对象的情况。应用开发者可以根据游戏的当前情景选择要采样哪个动画流。

SteamVR Skeletal Input同时能提供将数据流转换为附加动画的选项。添加动画对于应用开发者而言非常有用,因为他们可以在其他动画层之上增加一层,从而提供更多更动态的动作。例如,你可以使用SteamVR Skeletal Input中的附加手指动画,在手握持对象姿势基础上增加一层,以允许用户在握持对象时调整其抓握或手势。

Valve表示,他们同时希望多用户体验能够利用这一全新的系统,但联网整个动画手形骨骼可能需要大量的带宽。所以Valve将其作为API支持的一部分,将动画压缩到更适用于联网的大小。

一开始的beta版本旨在帮助开发者在游戏中体验这个API,并向Valve提供反馈。据映维网了解,新系统已经兼容Vive Wands,Oculus Touch和新的Knuckles EV2,Valve同时邀请了其他输入厂商进行合作,在beta版本中为他们的控制器添加支持。

Valve指出,完整的SDK将很快向所有开发者开放,但现在只有Unity开发者可以访通过早期版本的SteamVR Unity插件访问Skeletal Input API。相关的文档已经托管至OpenVR GitHub Wiki