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
2
Question by elephantatwork · Oct 05, 2012 at 08:03 PM · physicssystemcollisions

Access all current Collisions

Hello Unity community

I'd like to access all current Collisions in a scene without having a script on the objects that collide. I currently working on a entity systems based game so I want to avoid using functions in code in scripts placed directly on a object.

So far I understand the collision system of Unity3d OnCollisionEnter() and so on, doesn't contain info of the object the script is on. But I'd like the whole Collisiondata or stuff.

Somebody got an idea?

Comment
Add comment · Show 1
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 darbotron · Nov 20, 2012 at 10:38 PM 1
Share

I'd also like to be able to iterate all collisions in one place rather than having to use the $$anonymous$$onoBehaviour::OnCollisionxxx functions.

$$anonymous$$ost physics engines implement a collision detection & resolution process which goes in discrete phases (i.e. detect all collisions, then resolve all collisions) and I've found it invaluable in the past to be able to iterate all collisions after detection but before resolution.

This allows collision related logic to be centralised rather than handled in 'callbacks' (i.e. $$anonymous$$onoBehaviour::OnCollisionxxx) and allows deter$$anonymous$$istically ordered update - which (for example) allows game logic involving collisions of specific object types to be dealt with before other object types etc.

It seems that the $$anonymous$$onoBehaviour::OnCollisionxxx functions get called in whatever order the collisions happen which is clearly dependent on the ordering of objects in the physics world's representation and thus out of the control of the programmer - also the 'callback' style functions get called once for each object in the collision which makes it inefficient to cache the collision information from the callbacks as it you have to deal with it getting cached twice...

$$anonymous$$

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

10 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

Related Questions

Clarification on updates, physics events order and frequency? 1 Answer

How to make an infinite mass solid body 1 Answer

Can't set Bounce Threshold below .3 0 Answers

More realistic physics? 0 Answers

Entity-Component-System 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