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 Veovis Muaddib · Jun 23, 2014 at 01:35 AM · physicscolliderpointcontains

How do I find whether a point exists within the volume of a (trigger) collider?

I have a point in 3D space, represented in a Vector3 as you would expect. This may be the position of a game object's transform or a Vector3 completely unrelated to any existing transforms.

I also have a set of colliders set as triggers. For the purposes of this question, assume I've narrowed things down to a single collider I wish to consider.

So we have one point and one collider. I would like to determine whether the point lies within the collider's volume.

Bounds.Contains() is nearly what I want, but it's limited to an AABB that surrounds the collider. A large capsule collider at a significant angle would return true in cases where it should be false. Even if the AABB is in local space rather than world space, the curvature of the contained collider will still cause inaccuracy. Mesh colliders present a further challenge. Instead I want an analog at the collider level.

Check if position is inside a collider from an earlier Unity Answers question is also not quite what I'm looking for. It assumes use of colliders and rigidbodies, and my (limited) testing has shown that to be too slow for my needs.

Test if point is in Collider/Trigger is linked to from the previous answer, but also doesn't seem to cover my needs. The colliders could be quite large and the presented solution only works if the raycast passes through a face of the collider.

The physics system deals with volumes, and tests to see if they intersect. I find it odd that there doesn't seem to be an exposed way to test a singular point, as it seems to be a much less complex task.

Is there an existing library function to determine whether a point lies within a collider, or do I need to write my own? Writing my own would entail special casing for each class of collider and likely a large amount of redundant but slower code compared to what's already in the physics library.

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

2 People are following this question.

avatar image avatar image

Related Questions

Detecting a collider in 3D space. 1 Answer

C# Check if Collider2D[] Doesn't contain Scripted GameObject 1 Answer

Child object's collider (on a different layer) is interfering with parent Physics... 0 Answers

Disable/Enable Colliders 1 Answer

VR Camera jumps up and does not ignore collider even after turning off interaction between them in Layer Collision Matrix 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