hi,
I have a animated bird flying at constant speed, bird moves with the movement of mobile (left, right). when i slowly move the mobile the bird movement is perfect but when mobile movement on left right is fast the bird movement is in jerks. I also use a float variable filter to avoid jerks but its not working i guess. here is my code…!
private float speed = 10.0f;
private float filter = 5.0f;
private int maxX = 3;
private int minX = -3;
private Vector3 accel;
void Start(){
accel = Input.acceleration;
}
void Update(){
GetComponent<Rigidbody> ().AddForce (new Vector3(1000,0,0), ForceMode.Acceleration);
// filter the jerky acceleration in the variable accel:
accel = Vector3.Lerp(accel, Input.acceleration, filter * Time.deltaTime);
Vector3 dir = new Vector3(accel.x, 0, 0);
// limit dir vector to magnitude 1:
if (dir.sqrMagnitude > 1) dir.Normalize();
// move the object at the velocity defined in speed:
transform.Translate(dir * speed * Time.deltaTime);
Vector3 pos = transform.position;
// clamp new position:
pos.z = Mathf.Clamp(pos.z, minX, maxX);
//pos.y = Mathf.Clamp(pos.y, minY, maxY);
// and assign it to the object:
transform.position = pos;
any help would be appreciated.