Unity 6.3
0 онлайн 83 гостей 3 в системе
Вход

Rigidbody2D.AddTorque

Declaration

public void AddTorque(float torque, ForceMode2D mode = ForceMode2D.Force);

Параметры

Параметр Описание
крутящий момент Крутящий момент для применения.
режим Используемый режим принуждения.

Описание

В центре масс жесткого кузова прилагается крутящий момент.

Применение крутящего момента к Rigidbody2D изменяет только angularVelocity. Это изменение масштабируется (делилось) на вращение inertia. Поэтому, больший inertia приводит к меньшим изменениям в angularVelocity, а меньший inertia приводит к большим изменениям в angularVelocity.

При применении крутящего момента либо как силы, либо как импульса, вы можете использовать любое значение для получения требуемого изменения в angularVelocity. Однако, если вам требуется конкретное изменение в градусах, то вы должны сначала преобразовать значение torque в радианы, умножив на Mathf.Deg2Rad, а затем умножить на inertia.

Следующий пример демонстрирует это как импульс:

Дополнительные ресурсы: AddForce, AddForceAtPosition.

using UnityEngine;

public class TorqueRotationExample : MonoBehaviour { // Add an impulse which produces a change in angular velocity (specified in degrees). public void AddTorqueImpulse(float angularChangeInDegrees) { var body = GetComponent<Rigidbody2D>(); var impulse = (angularChangeInDegrees * Mathf.Deg2Rad) * body.inertia;

body.AddTorque(impulse, ForceMode2D.Impulse); } }