Параметры
torque | Крутящий момент для применения. |
mode | Используемый принудительный режим. |
Описание
Приложите крутящий момент к центру масс твердого тела.
Применение крутящего момента к Rigidbody2D изменяет только angularVelocity. Это изменение масштабируется (делится) на вращательную inertia. Таким образом, большая inertia приводит к меньшим изменениям angularVelocity, а меньшая inertia приводит к большим изменениям в angularVelocity.
При приложении крутящего момента как силы или импульса вы можете использовать любое значение, чтобы получить требуемое изменение angularVelocity. Однако, если вам требуется конкретное изменение в градусах, вы должны сначала преобразовать значение torque
в радианы, умножив его на Mathf.Deg2Rad затем умножается на inertia.
Следующий пример демонстрирует это как импульс:
Смотрите так же: AddForce, AddForceAtPosition.
using UnityEngine;
public class TorqueRotationExample : MonoBehaviour
{
// Добавить импульс, вызывающий изменение угловой скорости (указывается в градусах).
public void AddTorqueImpulse(float angularChangeInDegrees)
{
var body = GetComponent<Rigidbody2D>();
var impulse = (angularChangeInDegrees * Mathf.Deg2Rad) * body.inertia;
body.AddTorque(impulse, ForceMode2D.Impulse);
}
}