鼠标关节 MouseJoint
Author : Charley
关节的通用属性(编辑关节连线、绑定另一刚体、设置锚点、振动频率、阻尼、碰撞连接刚体)请查看 2D物理编辑总览 中关节通用功能章节。
鼠标关节是一种用来模拟用户用鼠标拖拽物体的物理约束。它通常会使得一个刚体可以跟随鼠标移动,但同时也能受到其他物理效果如碰撞、重力等的影响。
一、锚点
鼠标关节的锚点有些特别,所以除了通用属性的介绍外,这里再次进行说明。
其它关节需要手动指定另一个刚体,而鼠标关节的另一个刚体锚点会自动指向鼠标所在的位置,也就是说,鼠标关节是一种鼠标点与刚体锚点形成运动约束的关节。
另外,其它的关节锚点都是基于节点00点的位置偏移,而鼠标锚点则是基于鼠标点中的刚体位置进行偏移。
当振动频率较低时,更容易观察鼠标锚点与关节自身刚体锚点的连接关系,效果如动图1所示。

(动图1)
二、最大力 MaxForce
在鼠标关节中,核心的属性是设置最大的施加力maxForce,这个力用于限制鼠标关节试图将物体移向鼠标位置时所能施加的最大力量,避免力过大导致的异常行为或不自然的效果。
例如10牛顿可以勉强提起的物体,用100牛顿的力可以快速使得该鼠标关节的刚体跟随鼠标移动。效果如动图2所示。

(动图2)
该属性的值越大,将该关节刚体拉向鼠标的位置的牵引力越强,移动的响应速度越快。过小的值甚至不能克服其它作用在物体上的力(比如重力)的影响。