射线交互
更新时间: 2025年11月4日
设计守则:提供舒适的手势追踪体验对于创建沉浸式娱乐应用至关重要。请参阅页面底部的
设计守则,了解最佳实践以及如何最大程度地降低用户不适的风险。
光线互动使用一条光线来选择对象,该光线的发射来源为您在手上或控制器上定义的一个点。当光线悬停在一个对象上时,如要触发选择,光线互动将使用
RayInteractor 中指定的一个选择机制。该选择机制可以是任何事物,比如按钮、手势或语音命令,只要该机制实现了
ISelector 即可,因为
ISelector 用于为互动传播选择和发布事件。
注意:如果您刚开始使用 Meta XR 功能,我们建议您使用
功能模块(Meta XR SDK 的一个 Unity 扩展)将相关功能快速添加到您的项目中。
RayInteractor 定义一次光线互动中光线投射的起点和方向,以及互动的最大距离。由于未提供选择机制,RayInteractor 必须与
选择工具搭配使用。
RayInteractable 定义要被投射光线的对象的表面。(非必要操作)可以在选择时提供第二个表面来接收光线投射。RayInteractable 的一个用例是用于拖到画布边缘之外,其中拖动是从画布上开始,然后继续拖至画布之外。
注意:指针姿势的起点靠近手腕根部,与视觉位置不同。视觉位置用于提供纯视觉的捏合操作网格提示,即进行光线互动时出现在食指和拇指之间的一种泪滴形网格。
RayInteractorDebugGizmos 组件可用于可视化一个给定
RayInteractor 的光线和光线互动工具状态。
- 输入映射:了解输入映射如何衔接不同模式和互动类型。
- 输入层级结构:了解不同的输入层级结构。
- 多模态:了解多模态。
- 射线投射:了解通过射线投射实现间接互动的方式。
- 触摸:了解通过触摸实现直接互动的方式。
- 抓取:了解用于对象操纵的抓取互动。
- 微手势:了解微手势互动。