电机将施加一个力,该力最大可达最大力,以达到每秒度的目标速度。
电机试图达到每秒度JointMotor.targetVelocity角速度。电机只能达到targetVelocity
,前提是JointMotor.force足够大。如果关节旋转速度快于targetVelocity
,电机将制动。负的targetVelocity
将使电机朝相反方向旋转。force
是电机可以施加的最大扭矩。如果为零,则电机将被禁用。
只有当JointMotor.freeSpin为假时,电机才会在旋转速度快于targetVelocity
时制动。如果freeSpin
为真,则电机不会制动。
其他资源: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,前提是弹簧已启用。如果电机再次禁用,则弹簧将被恢复。