void FixedUpdate() { legs.UD = 0; legs.LR = 0; if (Input.GetKey(KeyCode.W)) { transform.position = new Vector3(transform.position.x, transform.position.y, transform.position.z + speed); legs.UD = 1; } if (Input.GetKey(KeyCode.S)) { transform.position = new Vector3(transform.position.x, transform.position.y, transform.position.z - speed); legs.UD = 2; } if (Input.GetKey(KeyCode.A)) { transform.position = new Vector3(transform.position.x - speed, transform.position.y, transform.position.z); legs.LR = 1; } if (Input.GetKey(KeyCode.D)) { transform.position = new Vector3(transform.position.x + speed, transform.position.y, transform.position.z); legs.LR = 2; } if (legs.UD == 0 && legs.LR == 0) { legs.anim.SetBool("isWalking", false); anim.SetBool("isWalking", false); } else { legs.anim.SetBool("isWalking", true); anim.SetBool("isWalking", true); } transform.position = new Vector3(transform.position.x, 0.9f, transform.position.z); cam.transform.position = new Vector3(transform.position.x, 10, transform.position.z); CamShake(); //Top half rotates to camera Ray ray = cam.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit, 100)) { hit.point = new Vector3(hit.point.x, transform.position.y, hit.point.z); Debug.DrawLine(transform.position, hit.point); transform.LookAt(hit.point); direction = hit.point - transform.position; } legs.transform.position = new Vector3(transform.position.x, 0.4f, transform.position.z); legs.PointLegs(legs.LR, legs.UD); }