Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 Slin · Mar 17, 2010 at 05:15 PM · instantiatecolliderdestroy

Remove and create colliders at runtime

I am most probably just to stupid to find the answer on my question, but I didnt manage to find it. I am creating an object with collider which creates another object on OnMouseDown. This other object is created at the same position as the first one and is also meant to react to OnMouseDown. Now my problem is, that OnMouseDown is only triggered if the collider of my object is "visible" under the mouse coursor. As big parts of second objects collider are covered by the collider of the first one, I think that I have to destroy the collider of the first object. I just dindt find a way that worked. And while I am already at it, it would also great if someone could let me know on how to create that destroyed collider again.

Thanks!

I managed destroying the collider, it didnt work before as the code crashed in the line before and actually still does... I just have to call Destroy(collider);

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
4
Best Answer

Answer by Eric5h5 · Mar 17, 2010 at 08:32 PM

Maybe you are trying to reference the destroyed collider, which causes the crash? In any case, use AddComponent to put the collider back.

Alternately, instead of creating/destroying, put the collider on the IgnoreRaycast layer, which will cause it to be invisible to raycasts (which are used in OnMouseDown).

Comment
Add comment · Show 2 · 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
avatar image Slin · Mar 18, 2010 at 08:42 PM 0
Share

I didnt understand the different "objects" yesterday, as I thought that the Object returned by Instantiate is the "highest" possible and I tried to access my other scripts member variable with it, which of course didnt work as that isnt my scripts instance. Works fine with GetComponent now. Thanks for the hin with the layers, as that could get very helpfull in the future, for this I will just stick with destroying and adding again as it works fine now. Thanks for your answer.

avatar image Slin · Apr 12, 2010 at 04:45 PM 0
Share

As I am using different colliders now, I switched to the layer thingy. It works perfect and is even easier than destroying and creating again :) So thanks for that hint.

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

No one has followed this question yet.

Related Questions

How to destroy an instantiated prefab object and keep instantiating it 1 Answer

Instantiate 1 object after 2 objects collide. ( C# ) 1 Answer

Destroy() not working on collision 2 Answers

Only 1 of 3 conditions being executed in IF statement?(Solved) 1 Answer

Having problems with destroying, instantiating 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