void UpdateGroundedState() { if (ignoreGroundCheck == true) { return; } if (AIHelpers.RaycastHitting(transform, groundRaycast, Vector3.down, 0.4f)) { anim.SetBool("grounded", true); } else { anim.SetBool("grounded", false); } }
void CrouchDetect() { if (AIHelpers.RaycastHitting(transform, senses.crouch, transform.forward, senses.coverDetectDistance) || AIHelpers.RaycastHitting(transform, senses.crouch, -transform.forward, senses.coverDetectDistance)) { inCrouchCover = true; RaycastHit wall = AIHelpers.ReturnRaycast(transform, senses.crouch, -transform.forward, senses.coverDetectDistance); vault_height = wall.transform.lossyScale.y; // Quaternion newRot = Quaternion.FromToRotation(transform.up, wall.normal); // transform.rotation = newRot * transform.rotation; } else { inCrouchCover = false; } }
void StandDetect() { if (AIHelpers.RaycastHitting(transform, senses.eyes, transform.forward, senses.coverDetectDistance) || AIHelpers.RaycastHitting(transform, senses.eyes, -transform.forward, senses.coverDetectDistance)) { inStandingCover = true; // RaycastHit wall = AIHelpers.ReturnRaycast(transform, senses.eyes, -transform.forward, senses.coverDetectDistance); // Quaternion newRot = Quaternion.FromToRotation(transform.up, wall.normal); // transform.rotation = newRot * transform.rotation; // agent.destination = transform.position; } else { inStandingCover = false; } }
void CheckForClimb() { if (AIHelpers.RaycastHitting(transform, senses.eyes, transform.forward, senses.coverDetectDistance, (1 << LayerMask.NameToLayer(movement.climbLayer)))) { if (ladder == null) { RaycastHit hit = AIHelpers.ReturnRaycast(transform, senses.crouch, Vector3.forward, 4); ladder = hit.transform.root.transform; } climbing = (inStandingCover == true) ? true : false; } else { climbing = false; } }
void UpdateGroundedState() { if (anim.GetBool("climbing") == true) { anim.SetBool("grounded", true); } else { if (AIHelpers.RaycastHitting(transform, groundRaycast, Vector3.down, 0.4f)) { anim.SetBool("grounded", true); } else { anim.SetBool("grounded", false); } } }