Version: 2023.2
言語: 日本語
public void AddTorque (Vector3 torque, ForceMode mode= ForceMode.Force);

パラメーター

torque ワールド座標におけるトルクのベクトル
mode The type of torque to apply.

説明

Rigidbody にトルクを追加します

力は、アクティブのリジッドボディにのみ適用することができます。ゲームオブジェクトが非アクティブの場合、AddTorque は効果がありません。

The effects of the torques applied with this function are accumulated at the time of the call. The physics system applies the effects during the next simulation run (either after FixedUpdate, or when the script explicitly calls the Physics.Simulate method). Because this function has different modes, the physics system only accumulates the resulting angular velocity change, not the passed torque values. Assuming deltaTime (DT) is equal to the simulation step length (Time.fixedDeltaTime), and mass is equal to the mass of the Rigidbody the torque is being applied to, here is how the angular velocity change is calculated for all the modes: ForceMode.Force: Interprets the input as torque (measured in Newton-metres), and changes the angular velocity by the value of torque * DT / mass. The effect depends on the simulation step length and the mass of the body. ForceMode.Acceleration: Interprets the parameter as angular acceleration (measured in degrees per second squared), and changes the angular velocity by the value of torque * DT. The effect depends on the simulation step length but does not depend on the mass of the body. ForceMode.Impulse: Interprets the parameter as an angular momentum (measured in kilogram-meters-squared per second), and changes the angular velocity by the value of torque / mass. The effect depends on the mass of the body but doesn't depend on the simulation step length. ForceMode.VelocityChange: Interprets the parameter as a direct angular velocity change (measured in degrees per second), and changes the angular velocity by the value of torque. The effect doesn't depend on the mass of the body and the simulation step length. リジッドボディはデフォルトでスリープ状態から起き上がります。トルクサイズが 0 の場合、リジッドボディはスリープのままです。

Additional resources: AddRelativeTorque, AddForce.

// Rotate an object around its Y (upward) axis in response to
// left/right controls.
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public float torque; public Rigidbody rb;

void Start() { rb = GetComponent<Rigidbody>(); }

void FixedUpdate() { float turn = Input.GetAxis("Horizontal"); rb.AddTorque(transform.up * torque * turn); } }

public void AddTorque (float x, float y, float z, ForceMode mode= ForceMode.Force);

パラメーター

x ワールドの x 軸に沿ったトルクのサイズ
y ワールドの y 軸に沿ったトルクのサイズ
z ワールドの z 軸に沿ったトルクのサイズ
mode The type of torque to apply.

説明

Rigidbody にトルクを追加します

力は、アクティブのリジッドボディにのみ適用することができます。ゲームオブジェクトが非アクティブの場合、AddTorque は効果がありません。

リジッドボディはデフォルトでスリープ状態から起き上がります。トルクサイズが 0 の場合、リジッドボディはスリープのままです。