private float getRoll(Vec3 dir, Vec3 vel) { var d = dir.Normalized; d = new Vec3(d.z, 0, -d.x); var v = vel.Normalized; float t = d.DotProduct(v); return(-(Mathf.HalfPI - Mathf.ACos(t)) * vel.Length / 30); }