IEnumerator PunchAnim() { // cameraEffects.enabled = true; cameraEffects.ShakeIntensifying(1.5f, 2.0f, 0.7f); isPunching = true; float timer = 0.0f; Vector3 target; while (timer <= 0.2f) { target = hand.transform.forward * 3f + transform.position; if (timer < 0.1f) { hand.transform.position = Vector3.Lerp(transform.position, target, timer / 0.1f); } else { hand.transform.position = Vector3.Lerp(target, transform.position, (timer - 0.1f) / 0.1f); } timer += Time.deltaTime; yield return(null); } hand.GetComponent <MeshRenderer>().enabled = false; // cameraEffects.enabled = false; cameraEffects.toShake = false; isPunching = false; }