Version: 2021.3
public JointMotor motor ;

描述

电机将施加不超过最大值的力,以达到目标速度(以度/秒为单位)。

电机试图达到 JointMotor.targetVelocity 的角速率(以度/秒为单位)。 电机所能达到的角速率的上限是 targetVelocity(如果 JointMotor.force 足够大)。 如果关节旋转速度超过了 targetVelocity,电机将制动。 targetVelocity 为负值时将使电机反向旋转。

force 是电机能够施加的最大扭矩。如果为零,则禁用电机。

当电机旋转速度超过 targetVelocity 时,如果 JointMotor.freeSpin 为 false,电机将制动。 如果 freeSpin 为 true,电机不制动。

另请参阅:useMotorJointMotor

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(如果启用了弹簧)。如果重新禁用电机,弹簧将恢复。