齿轮关节 GearJoint
Author : Charley
关节的通用属性(编辑关节连线、绑定另一刚体、设置锚点、振动频率、阻尼、碰撞连接刚体)请查看 2D物理编辑总览 中关节通用功能章节。
齿轮关节是一种模拟两个齿轮连接效果的关节类型,它可以用来将两个关节的运动通过一定的比例关系连接起来。
一、绑定关节joint
齿轮关节与其它关节不同的是,齿轮关节并非是连接绑定刚体,而是连接两个关节,如图1所示。并且关节类型只能是旋转关节(RevoluteJoint)或平移关节(PrismaticJoint)。

(图1)
齿轮关节应该添加在哪个节点上?
对于齿轮关节而言,它本身并不直接与任何刚体相连,而是通过连接另外两个关节(关节1和关节2)来传递运动和约束。所以,齿轮关节添加到哪个节点均无所谓,关键点是关节1和关节2是谁,这会影响哪两个关节会发生作用。通常情况下,建议添加到关节1或关节2的节点对象上,或者是它们的父节点上。
被连接的关节有什么要注意的?
- 关节1与关节2选择哪个关节,并没有先后顺序的影响,只要是旋转关节或平移关节二者之一即可,其它关节类型不得应用于齿轮关节。
- 由于旋转关节或平移关节均可以不设置连接其它刚体,所以关节1与关节2的被连接关节,是否连接另一个显示对象的刚体取决于实际的需求。
- 如果需要设置马达力给关节,虽然可以给两个关节都设置马达力,但通常情况下,只给其中一个关节设置马达力 是更佳选择。这是因为两个马达力可能会产生冲突,导致齿轮关节的运动不稳定。
动图2中,演示了齿轮关节设置的基础流程:

(动图2)
二、齿轮比率 ratio
齿轮比率是决定两个通过齿轮关节连接的关节之间运动转换方式的系数。当你设置了一个齿轮比率,相当于是在定义转动或平移的一种"汇率"。例如,一个旋转关节与一个平移关节通过齿轮关节连接,并设定了一个特定的齿轮比率。这个比率决定了旋转关节的每一度旋转会导致平移关节移动多少距离,反之亦然。
正比率:如果齿轮比率为正值,这意味着两个关节将会以相同的方向进行转动或移动(即一个关节的顺时针旋转会导致另一个关节相应地以正比率移动或旋转)。
负比率:如果齿轮比率为负值,这表示两个关节会以相反的方向进行转动或移动(即一个关节的顺时针旋转会导致另一个关节相应地以负比率反向移动或旋转)。
效果如动图3所示:

(动图3)