I’m calculating velocity for a transform (without a rigidbody) and I’m noticing the magnitude values jump around between small and large values when the transform is moving at constant speed. Does anyone know how to fix it?
using UnityEngine;
using System.Collections;
public class VelocityCalculator : MonoBehaviour
{
Vector3 previousPosition;
Vector3 velocity;
float magnitude;
void Start ()
{
previousPosition = transform.position;
}
void Update ()
{
velocity = (transform.position - previousPosition) / Time.deltaTime;
previousPosition = transform.position;
magnitude = velocity.magnitude;
Debug.DrawRay(transform.position,velocity,Color.red);
print ("magnitude: " + magnitude);
}
}