Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
Question by RhinoFreak · Jan 04, 2018 at 10:54 PM · raycastraycastingraycasthitraycasthit2ddrawray

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).

DrawRays

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.

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

154 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

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


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges