Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 /
avatar image
0
Question by jakelong00 · Mar 28, 2014 at 04:29 PM · 2d2d-platformerraycasting

How to find an object in front of player?

I am trying to find an object that is in front of my player sprite using the following code

 RaycastHit2D hit = Physics2D.Raycast(transform.position,Vector2.right,EnemyLayer);
 //EnemyLayer is the layer having enemys
     if(hit!=null){
         print (hit.collider.tag);
                     
     }

But this is printing "player",the tag of the object on which the script is attached What am i doing wrong?

EDIT: Ok,I found out why it was printing player-because I had a big circular collider surrounding my player. Deactivating it gives me the following error

 NullReferenceException: Object reference not set to an instance of an object

I have no clue what it means.

Comment
Add comment · Show 3
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
avatar image supernat · Mar 28, 2014 at 04:33 PM 0
Share

Are you absolutely sure no other objects in the scene (not just enemies) are tagged as "player"? In my usual state of lack of sleep, I end up copy/pasting objects and forgetting to change their tag. Just double check. And double check that the player is not on the EnemeyLayer. Beyond that, it doesn't make much sense, and there's not enough here to help.

avatar image EBR · Mar 28, 2014 at 04:34 PM 0
Share

Are you sure your player is not on the enemy layer? Or something like that?

avatar image jakelong00 · Mar 28, 2014 at 04:43 PM 0
Share

yes i am, i found the reason to it

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by NoteMEdown · Dec 06, 2018 at 12:48 AM

Change the code to

  RaycastHit2D hit = Physics2D.Raycast(transform.position,Vector2.right,EnemyLayer);
  //EnemyLayer is the layer having enemys
      if(hit){
          print (hit.collider.tag);
                      
      }

hit returns a bool, thus it will never be null. So when you type

 if(hit != null)

This will always be true, and your print will always happen. When you dont hit anything, you will get a NullReferenceException.

Comment
Add comment · Share
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

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

23 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

Related Questions

Physics.Raycast doesn't hit anything even though Debug.DrawRay works 1 Answer

wasd movement rigidbody no bouncing 0 Answers

2D Coins and Points 1 Answer

Best 2d User Interface for Mobile and Other platforms 1 Answer

Changing SpriteRenderer order in script 1 Answer


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