电机将施加不超过最大值的力,以达到目标速度(以度/秒为单位)。
电机试图达到 JointMotor.targetVelocity 的角速率(以度/秒为单位)。
电机所能达到的角速率的上限是 targetVelocity
(如果 JointMotor.force 足够大)。
如果关节旋转速度超过了 targetVelocity
,电机将制动。
targetVelocity
为负值时将使电机反向旋转。force
是电机能够施加的最大扭矩。如果为零,则禁用电机。
当电机旋转速度超过 targetVelocity
时,如果 JointMotor.freeSpin 为 false,电机将制动。
如果 freeSpin
为 true,电机不制动。
另请参阅:useMotor、JointMotor。
using UnityEngine;
public class Example : MonoBehaviour { void Start() { var hinge = GetComponent<HingeJoint>();
// Make the hinge motor rotate with 90 degrees per second and a strong force. var motor = hinge.motor; motor.force = 100; motor.targetVelocity = 90; motor.freeSpin = false; hinge.motor = motor; hinge.useMotor = true; } }
修改电机不会自动启用电机。
启用电机会超控 spring(如果启用了弹簧)。如果重新禁用电机,弹簧将恢复。