RayCast2D and RayDraw errors
Okay I am making a 2D Platformer Side Scroller. I am working on a AI / COM player right now who should jump when there is an obstacle in front of him (detected by the Red raycast) or if the ground in front of him does NOT exist (detected by the Green raycast).
The problem is, that, even though it is clearly visible by the Green raycast to check Ground/Platform in front that it IS indeed touching/colliding with the ground, the program does NOT go into the loop where it is should be going.
Code given below:
RaycastHit2D groundFrontCheck = Physics2D.Raycast(new Vector2 (transform.position.x + groundFrontRayOffsetX, transform.position.y + groundFrontRayOffsetY), new Vector2(1.0f, -1.0f), groundFrontRayDistance);
RaycastHit2D obstacleCheck = Physics2D.Raycast(new Vector2 (transform.position.x, transform.position.y + obstacleRayOffsetY), Vector2.right, obstacleRayDistance);
if (groundFrontCheck.collider !=null && groundFrontCheck.collider.tag == "Ground")
{
Debug.Log("Ground exists, so no need to jump");
}
else if (groundFrontCheck.collider != null && groundFrontCheck.collider.tag != "Ground")
{
Debug.Log("something exists but it is not ground");
}
else
{
Debug.Log("o shit nothing in front, jump");
if (isGrounded)
Jump(); //there is no collider in front of you, so jump.
}
I'm using the following DrawRay functions to display the Green/Red/Yellow rays for each Raycast check:
Debug.DrawRay(new Vector2 (transform.position.x + groundFrontRayOffsetX, transform.position.y + groundFrontRayOffsetY), new Vector2(1.0f, -1.0f), Color.green);
Debug.DrawRay(new Vector2(transform.position.x, transform.position.y + obstacleRayOffsetY), Vector2.right, Color.red);
Debug.DrawRay(transform.position, Vector2.down, Color.yellow);
Ground Exists so no need to jump is NEVER observed in the console no matter what. Help me please.
Your answer
Follow this Question
Related Questions
I can't get RayCast to report the collider I want. 1 Answer
Need help ironing out this weird error in Raycast2D and Vector2.Reflect, for a billiard game test 1 Answer
Need help changing material back when raycast no longer hitting object. 1 Answer
Hookshot in Unity 2D not working,Hookshot 2D not working 0 Answers
Raycast doesn't stay in one place 0 Answers