Meta为其Presence Platform带来了Interaction SDK,旨在改善沉浸式VR体验中的交互。Interaction SDK是一个组件库,可以为内容体验添加控制器和手部交互。它包含了一系列交互模型,如射线投射、戳、抓取、手势识别等。开发者可以利用这些模型来创建高质量的交互体验。
此外,Meta还推出了Interaction SDK示例应用《First Hand》来展示这些交互模型的使用。该应用可以让用户以裸手方式与虚拟世界进行交互,如开关、杠杆、UI操作等。《First Hand》使用Interaction SDK的先进直接触摸启发法,使与虚拟现实中的2D UI和按钮交互感觉更加自然。
开发者可以设置《First Hand》示例的本地副本,并使用Interaction SDK的组件来开发类似的交互体验。Interaction SDK提供了包含编辑器代码和运行时组件的SDK软件包,开发者可以根据示例场景和功能场景进行开发。同时,Meta还提供了《First Hand》的开源项目,帮助开发者更好地理解和使用Interaction SDK。Example Scenes目录包含了你之前在Interaction SDK示例应用程序中看到的所有场景,Feature Scene目录包含了专门用于各个单一功能的场景,Tools目录包含了Hand Pose Authoring Tool等工具。我们打开一个例子,比如HandGrabExamples,来看看场景设置、脚本和其他组件以及如何使用它们来构建示例中所见的交互。
在打开任何示例场景时,系统可能会要求你导入TMP essentials,然后你的场景就会打开。
文中还介绍了与示例中的游戏对象和脚本相关的信息。
关于OOVRIntegration预制件的更多信息以及它如何与OVRHands一起工作,请参考链接的Input文档。
OVRCameraRig预制件包含两个主要脚本:OVRManager和OVRCameraRig。OVRManager是VR硬件的主要接口,表示Unity引擎和Oculus SDK之间的桥梁,管理目标设备、性能、追踪和色域等设置。
每个交互都由一对Interactor和Intractable组成。Intractable表示手或控制器将要与之交互的刚体对象,而Interactor表示手或控制器本身。它们都需要特定的组件来实现交互。
示例演示了HandGrabInteractor和HandGrabInteractable之间的交互,HandGrabInteractor位于OVRInteraction → OVRHands → Choose LeftHand or RightHand → HandInteractorsLeft/Right → HandGrabInteractor,并有相应的刚体对象Interactables → Choose one of the SimpleGrabs → HandGrabInteractable。
在最后,介绍了如何克隆并在Unity中建立《First Hand》示例,并提供了相关步骤。同时还介绍了裸手交互的最佳实践,包括使用能指和反馈、限制手部动作、使用Snap Interactors和Distance Grab以及注意人体工程学的重要性等。