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 Romano · Jan 17, 2014 at 10:55 AM · raycastlinecastsorting layers4.3

Does 2D Raycast/ Linecast work with Unity 4.3's sprite sorting layers?

Here's my code:

    #pragma strict
     
     var leftClickedObject : GameObject = null;
     var layerMask : LayerMask;
     
     function Update () 
     {
         if (Input.GetMouseButtonDown(0))
         {
             leftClickedObject = GetClickedObject();
             
             if (leftClickedObject != null)
                     {
                  leftClickedObject.SendMessage("OnLeftClick", null, SendMessageOptions.DontRequireReceiver);
             }
         }
     }
     
     function GetClickedObject(): GameObject
     {
         var clickPosition : Vector3 = Camera.main.ScreenToWorldPoint(Input.mousePosition);
         var hit : RaycastHit2D = Physics2D.Linecast (clickPosition, clickPosition);
     
         if (hit != null && hit.collider != null)
         {
              return hit.collider.gameObject;
         }
         
         else
         {
              return null;
         }
    }

I'm currently using this code to test left mouse clicks in Unity. I have a 2D background and foreground, which are both sprites, with scripts attached that are supposed to display some text in the console when they are clicked.

Both are on the same sorting layer and the foreground's order in layer is set to 1 (background at 0). The problem I have is that clicking the foreground, which sits over the background, is detected as a click on the background by unity. Clicking the background directly works fine.

Changing the Z depth of the foreground to be in front of the background solves this issue, but that seems to be against the point of being able to work with layers. Changing the sprites to be on different sorting layers does not work either - not that that would be a desirable solution.

Does anyone have any idea how to make this work using the built in layer system?

Thanks very much! Romano

Edit: What would be great is a way of returning ALL of the sprites underneath where you've clicked :)

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

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by Romano · Feb 03, 2014 at 12:47 PM

Apparently it's not straightforward at all. I've put up an explanation of why on my game's blog along with a script that I've written to solve the problem: http://notquiteblackandwhite.com/post/75474540217/how-to-do-2d-mouse-clicks-in-unity

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

18 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

Related Questions

Need help with Third person shooter 0 Answers

Multiple linecasts question 1 Answer

Pointcast? - Raycast Point X from same Point X 0 Answers

Raycast or Linecast to existing Raycast hit.point, to check Line of Sight 1 Answer

jump linecast 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