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 jaroosh · Jan 24, 2014 at 02:39 PM · 2draycastlayers

3d raycasting in 2d world with perspective camera

Hi Guys,

this is a variation of a problem I've had with conditionaly making objects on a ceiling layer transparent when these objects are between camera and player. So what Im basicaly trying to do is to cast a ray in 3D from camera to a player and get all 2d colliders along the way. Now, Im using a 2D project so I cant use regular Raycast, what I end up using is Physics2D.GetRayIntersectionNonAlloc. I'm also using a perspective camera here and it seems that might be a problem because the ray doesnt hit the collider correctly (I see on the scene that there is something between camera and player on ceiling layer but the rayhitting returns nothing).

Here is more or less the code Im using for ray hittint :

 // This is not a production code ;) 
 RaycastHit2D[] hits = new RaycastHit2D[SOMESIZE];
 
 // Get a direction vector from camera to player. 
 Vector3 dir = playerTransform.position - Camera.main.transform.position;
 
 // Cast a 3D ray from camera to the player and get all 2d colliders ON CEILING LAYER that are on the ray.
 var hitCount = Physics2D.GetRayIntersectionNonAlloc(new 
 Ray(Camera.main.transform.position, dir),             hits, 10f, Registry.Instance.CEILING_LAYER_MASK_ID);
 
 // Iterate ovet the points and do sth.
 for(int i = 0; i < hitCount; i++) {
   // CAST SOME MAGIC!
 }
                 
 // Here Im trying to raw a line to see why its not realy working, and the line seems a bit OFF - starting from the camera but not reaching the player...            Debug.DrawLine(Camera.main.transform.position, coll.point, Color.yellow);

Any suggetsions would be great, thx!

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

19 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

Related Questions

Raycast ignore itself 5 Answers

Using unity 4.6 UI and raycast2D functionality 0 Answers

How to raycast through friendly objects? 1 Answer

Raycast Layermask doesn't ignore no layered Parent? 1 Answer

Raycast doesnt hit ground 2 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