| InteractionBehaviour | |
| 属性 | 描述 |
| MAX_ANGULAR_VELOCITY | 用来约束Rigidbody.maxAngularVelocity |
| isHovered | 附近是否有交互控制器。 |
| closestHoveringController | 获取离此对象最近的交互控制器,如果附近没有控制器,则为null。Leap hands和支持的VR控制器都被视为这个getter的“控制器”。 |
| closestHoveringHand | 获取离此对象最近的Leap Hand,如果附近没有手,则为null。 |
| closestHoveringControllerDistance | 获取从该对象到离该对象最近的手掌的距离,或float.PpositiveInfinity表示附近没有手。 |
| hoveringControllers | 获取悬停在此对象附近的所有交互控制器,无论它们是Leap手还是支持的VR控制器 |
| isPrimaryHovered | 是否有主控制器悬停在此对象上。 |
| primaryHoveringController | 获取悬停在对象上且离对象最近的主控制器。 |
| primaryHoveringControllers | 获取悬停在对象上的所有主控制器。 |
| primaryHoveringHand | 获取悬停在对象上的主控制手(Hand) |
| primaryHoveringFinger | 获取悬停在对象上的主手指(Finger) |
| primaryHoveringControllerPoint | 获取悬停在对象上的主控制器的离对象最近的坐标点。 |
| primaryHoverDistance | 获取悬停在对象上的主控制器离对象的距离。 |
| isGrasped | 判断此对象是否被任何交互控制器抓取。 |
| graspingController | 获取抓取对象的第一个/默认控制器。 |
| graspingControllers | 获取参与抓取对象的所有控制器。 |
| graspingHands | 获取参与抓取对象的所有交互手(InteractionHand)。 |
| isSuspended | 获取对象当前是否已挂起。如果对象当前被未跟踪的控制器抓住,则该对象被“挂起”。有关更多详细信息,请参阅OnSuspensionBegin。 |
| latestScheduledGraspPose | 获取最新的抓握姿势(Pose)。 |
| contactionControllers | 获取当前正与此对象发生关联的所有控制器。 |
| manager | 获取/设置 InteractionManager 对象。 |
| rigidbody | 获取对象上的刚体组件。 |
| ignoreHoverMode |
枚举类型。忽略与哪些控制器进行交互。 IgnoreHoverMode { None, Left, Right, Both } |
| ignorePrimaryHover | 是否忽略与主控制器的交互。 |
| ignoreContact | 如果设置为true,则关联控制器无法触摸此对象。 |
| ignoreGraspingMode |
枚举类型。忽略哪些控制器的抓取操作。 IgnoreHoverMode { None, Left, Right, Both } |
| ignoreGrasping | 如果设置为true,控制器将无法抓取此对象。 |
| contactForceMode |
枚举类型。设置对象所属类型。 确定交互控制器应该对此对象应用多大的力。对于按钮和滑块等界面样式对象,请选择UI。这将使物体感觉更轻,对轻柔的触摸更有反应;对于普通物理对象,您几乎总是需要Object。 ContactForceMode { Object, UI } |
| allowMultiGrasp | 是否允许多个控制器同时抓取此对象。 |
| moveObjectWhenGrasped | 当对象被抓住后,是否允许控制器移动它。 |
| graspedMovementType |
枚举类型。抓住并移动时,如何设置刚体的isKinematic属性值。 GraspedMovementType { Inherit, Kinematic, Nonkinematic } |
| overrideInteractionLayer |
是否覆盖交互层。 如果设置为true,则此交互对象将覆盖其默认层的交互管理器的层设置。当物体没有被抓住时,交互层用于物体,而不是忽略接触。 |
| interactionLayer | 设置交互层(SingleLayer)。设置此对象在未抓住且未忽略接触(contact)时要使用的覆盖层。 |
| overrideNoContactLayer | 是否覆盖非接触层。如果设置为true,则此交互对象将覆盖其默认无接触层的交互管理器的层设置。无接触层不应与接触骨层碰撞;当交互对象被抓住或忽略接触时使用它。 |
| noContactLayer | 设置非接触层(SingleLayer)。覆盖此交互对象在被抓住或忽略接触时应处于的层。该层不应与接触骨骼层碰撞——层交互控制器的碰撞器处于启用状态。 |
| primaryHoverColliders | 获取与此对象交互时的主控制器上的碰撞器组件列表。 |
| graspedPoseHandler | 获取或设置此交互对象的抓取姿势处理程序。 |
| throwHandler | 获取或设置此交互对象抛出异常处理程序。 |
| isPositionLocked | 对象的位置是否被锁定。 |
| 方法 | 描述 |
| ReleaseFromGrasp() | 释放抓取。 |
| GetGraspPoint(InteractionController intController) | 获取控制器上的抓取点。 |
| AddLinearAcceleration(Vector3 acceleration) | 给对象的质心添加一个推力。 |
| AddAngularAcceleration(Vector3 acceleration) | 给对象的质心添加一个旋转力。 |
| SetKinematicWithoutGrasp(bool isKinematic) | 设置 _rigidbody.isKinematic 属性值。 |
| GetKinematicWithoutGrasp() | 获取 _rigidbody.isKinematic 属性值。 |
| GetHoverDistance(Vector3 worldPosition) | 获取此对象上离worldPosistion最近的点的距离。 |
| 事件 | 描述 |
| OnHoverBegin | 控制器进入对象。 |
| OnHoverEnd | 控制器离开对象。 |
| OnHoverStay | 控制器悬停在对象上。 |
| OnPerControllerHoverBegin | 控制器进入对象。 |
| OnPerControllerHoverEnd | 控制器离开对象。 |
| OnPrimaryHoverBegin | 主控制器进入对象。 |
| OnPrimaryHoverEnd | 主控制器离开对象。 |
| OnPrimaryHoverStay | 主控制器悬停在对象上。 |
| OnPerControllerPrimaryHoverBegin | 主控制器进入对象。 |
| OnPerControllerPrimaryHoverEnd | 主控制器离开对象。 |
| OnGraspBegin | 开始抓取。 |
| OnGraspStay | 一直抓住。 |
| OnGraspEnd | 结束抓取。 |
| OnGraspedMovement | 抓取并移动。 |
| OnPerControllerGraspBegin | 开始抓取。 |
| OnPerControllerGraspEnd | 结束抓取。 |
| OnSuspensionBegin | 开始挂起。 |
| OnSuspensionEnd | 结束挂起。 |
| OnContactBegin | 关联开始。 |
| OnContactEnd | 关联结束。 |
| OnContactStay | 关联中。 |
| OnPerControllerContactBegin | 关联开始。 |
| OnPerControllerContactEnd | 关联结束。 |