Rigidbodyの回転速度を無限大にする

投稿者: | 2019-11-29
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class torqueScript : MonoBehaviour
{
    Rigidbody rb;

    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0)) // マウスの左クリック
        {
            rb.AddTorque(transform.up,ForceMode.Impulse); // 左に回す
        }

        if (Input.GetMouseButtonDown(1)) // マウスの右クリック
        {
            rb.AddTorque(transform.up * -1, ForceMode.Impulse); // 右に回す
        }
    }
}

マウスクリックで回転する力を加えてみます。


マウスを連打しても、すぐに回転速度が上がらなくなります。

実は、Rigidbodyは回転速度に0から無限大までの制限をかけることができ、デフォルトでは7になっています。
参考:https://docs.unity3d.com/ja/current/ScriptReference/Rigidbody-maxAngularVelocity.html

void Start()
{
    rb = GetComponent<Rigidbody>();
    rb.maxAngularVelocity = Mathf.Infinity;
}

最大の回転速度を無限大にしてみます。
無限大は Mathf.Infinity です。


回転速度が上がりました。

コメントを残す

メールアドレスが公開されることはありません。