• 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 ChristmasEve · Nov 28, 2017 at 02:33 AM · scenecolliderscollision detectionraycasting

3d map of all colliders in scene

Hi everyone! I was wondering if anyone has a solution to this... I have previously been using barrages of raycasts in all directions to generate a 3D bitmap (rasterization) of all the colliders for certain buildings. This 3D bitmap was further compressed and then used by my game server because the server itself does not use Unity and does not contain scene information. I'm getting very frustrated because my routine isn't perfect and is proving to have fatal flaws as I play test my game. I used a round-about method to circumvent Unity's bug with RaycastAll and BoxcastAll not picking up multiple enter/exit points in a convex mesh collider. There are other issues as well. So, my question is, is there a way to just loop through my X/Y/Z ranges and check if certain points are inside any collider? OR, perhaps it would be better to loop through the building's COLLIDER list, instead, and punch out bits in my 3D bitmap of where they lie. Unfortunately, I don't know enough to do this on my own because it's not just simple box colliders that are involved. They could be any kind of collider, including mesh colliders, and in any orientation.

Please help! :) Thanks in advance!

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
0

Answer by ChristmasEve · Nov 28, 2017 at 03:19 AM

Minutes after I posted this, I came across Physics.CheckBox (DOH!!!) but, it is VERY VERY slow to map my regions this way. So I am still searching for a better solution. This solution is 100% accurate but I'm hoping to accomplish the same thing in a fraction of the time, since my regions change a lot as I develop my game.

I'm basically doing a three dimensional loop, checking EVERY location in my region's volume for colliders using a box of size (0.5, 0.1, 0.5).... I'm guessing the only fast way would be to ditch Unity's Physics calls and iterate the collider geometry, one collider at a time, plotting out what's blocked.

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.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

86 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

Related Questions

How can I let the ray to the edge of the capsule? 1 Answer

Best method to make the main character traverse multiple layers of objects using Unity 2D 1 Answer

How to check if 2 collisions are on the same objects ? (is player on the same ground than enemy?) 2 Answers

How do I use colliders and/or triggers to end the game? 1 Answer

OnCollisionEnter being called without the colliders actually colliding 1 Answer

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges