Version: 2022.1
public JointMotor motor ;

描述

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

The motor tries to reach JointMotor.targetVelocity angular velocity in degrees per second. The motor will only be able to reach targetVelocity, if JointMotor.force is sufficiently large. If the joint is spinning faster than targetVelocity the motor will brake. A negative targetVelocity will make the motor spin in the opposite direction.

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