- Home /
Added torque value, like in rigidbody.velocity.magnitude?
I need to add angular drag in my rigidbody if the H input is zero, and if the rigidbody is rotating because of the torque. But I really can't, becauase I don't know how to get the torque values, like in rigidbody.velocity.magnitude, because it doesn't work with torque.
Here's the code.
using UnityEngine;
using System.Collections;
public class Rigidbody_Controls : MonoBehaviour {
public float amount;
private Rigidbody boxRigidbody;
private float h;
private float v;
private float rigidbodyDefaultAngularDrag;
void Start()
{
boxRigidbody = GetComponent<Rigidbody>();
rigidbodyDefaultAngularDrag = boxRigidbody.angularDrag;
}
//rigidbody method
void Update()
{
h = Input.GetAxis("Horizontal") * amount * Time.deltaTime;
v = Input.GetAxis("Vertical") * amount * Time.deltaTime;
Debug.Log("Input Horizontal" + h);
Debug.Log(boxRigidbody.velocity.magnitude);
boxRigidbody.isKinematic = false;
boxRigidbody.useGravity = false;
boxRigidbody.AddTorque(Vector3.up * h);
boxRigidbody.AddTorque(Vector3.left * v);
if(boxRigidbody.velocity.magnitude > 0.1f && boxRigidbody.velocity.magnitude > -0.1f) //magnitude doesn't work with torque
{
if(h == 0)
{
boxRigidbody.angularDrag = amount * Time.deltaTime * 10;
}
}
/*if(h > 0)
{
if(boxRigidbody.velocity.magnitude <= 0f)
{
boxRigidbody.angularDrag = 0.5f;
}
}*/
}
}
Comment