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 Arithan · Feb 13, 2013 at 11:57 PM · collisioncolliders

Only Take Damage Once with Multiple Colliders on Player

I currently have a car that is a rigidbody with three child colliders in the shape of the car. How can I make it so that they act as one collider and take damage only once instead of three times when hit by an object that is a trigger?

For example, if one of the hazards of my game is a flame wall, and I drive through it, I take damage three times due to having three colliders on the car. But I only want it to take damage once.

I did some searches but they were projectile related where it can use a boolean variable to see if it hit something, and if it did, to not do send the message to take damage again. Since the flame wall is not a projectile, it will always be active and not destroyed. So if I used a boolean variable I would need a way to set it back to false when the player leaves the flame wall. So when the player enters again, it does damage again. The problem with setting the boolean back to false with OnTriggerExit() is that it does this even if just one of the three colliders exit the flame wall trigger, but I don't want it to set to false until all three colliders exit the flame wall trigger.

Due to the nature of a flame wall, the player should also take damage over time while staying in there, but again, it would do damage three times due to having three colliders on the car.

Is there a way to make the three colliders on the car really act as one collider for taking damage purposes?

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

Answer by iwaldrop · Feb 14, 2013 at 01:04 AM

It sounds like, in addition to tracking whether you will allow damage, you need to keep track of how many colliders are currently 'Entered'.

 int count = 0;
 bool allowDamage = true;
 
 OnTriggerEnter()
 {
     count++;
     
     // do damage
 
     allowDamage = false;
 }
 
 OnTriggerExit()
 {
     count--;
 
     if (count == 0)
         allowDamage = true;
 }
Comment
Add comment · Show 3 · 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 Arithan · Feb 14, 2013 at 02:50 AM 0
Share

Thanks. Works like a charm. Can't believe I didn't think of just counting the colliders.

avatar image iwaldrop · Feb 14, 2013 at 02:52 AM 0
Share

Sometimes its the simplest things that work the best. ;)

avatar image aronatvw · Dec 02, 2013 at 07:51 PM 0
Share

Great answer thanks for the help!! Had the exact same problem!

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

11 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

Related Questions

Ghost collisions problem: RigidBody player bounces, when moving on platform edges 2 Answers

get only one colliding body 3 Answers

Very complicated collider problems 0 Answers

I'm making a little card game and I'm having trouble with collisions, or maybe just the overall logic. 2 Answers

Speed/trigger only working once 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