滑轮关节 PulleyJoint
Author : Charley
关节的通用属性(编辑关节连线、绑定另一刚体、设置锚点、振动频率、阻尼、碰撞连接刚体)请查看 2D物理编辑总览 中关节通用功能章节。
滑轮关节通过连接两个刚体,模拟现实中绳索或链条相互连接的滑轮系统运动和行为,实现力的传递和方向的改变,以及限制连接刚体之间的相对运动。当一个刚体上升时,另一个刚体就会下降。效果如动图1所示:

(动图1)
动图1中,对三角形进行拖拽不是滑轮关节自身的功能,而是叠加了鼠标关节组件
一、自身地面点selfGroundPoint、另一地面点otherGroundPoint
地面点是沿用于Box2D引擎中的说法直译,并非是"地面"的中文字面意思,用于表示一个静止不变的固定点。相当于滑轮系统中的滑轮支架。
在滑轮关节中,存在两个滑轮支架,一个是连接自身刚体锚点的自身地面点,另一个是连接另一刚体锚点的另一地面点。
当一侧的刚体进行位移时,另一侧的刚体基于连接的"绳索"进行关联移动,移动的约束限制就是地面点。效果如动图2所示。

(动图2)
初始的地面点与锚点是对齐的,在默认值的状态下,相同质量的物体是静止的。如果我们调整地面点的位置,使得与锚点不再对齐,刚体受重力影响产生运动。如动图3所示。

(动图3)
二、传动比率ratio
传动比率模拟了现实中滑轮组的运动原理,它定义了两个连接刚体之间绳索长度的变化比率。也就是说,自身刚体的移动距离与另一刚体的移动距离之间存在着固定的倍率关系。
例如,如果传动比率被设为2,这意味着当自身刚体在其滑轮上升1米时,另一刚体的滑轮将下降2米。同样,当另一刚体上升2米时,自身刚体将下降1米。
所以说,在同一时间,另一刚体移动的距离 = 自身刚体移动的距离 * 传动比率;或者是,自身刚体移动的距离 = 另一刚体移动的距离 / 传动比率
效果如动图4所示:

(动图4)