• 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
Question by MrHero · Dec 26, 2014 at 10:49 PM · damagerigidbody-collisionfloorrigidbody collision

Floor to damage player

Hello,

I'm trying to make a floor which slows, damage, etc. the player when the player moves on top of it.. my player is a Rigidbody with 2D collision on, and the floor should be without collision ..

im not sure how would i communicate between the two object since one has a collision and the other is not, so i though maybe there is a way to check if two rigidbodies are on top of each other?

im quit not sure how would i check this condition tried to search online but i didn't know what should i search for so.. :D

sorry if this is very basic but yeh ^^

Best Regards, MrHero

Comment

People who like this

0 Show 2
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 Mmmpies · Dec 26, 2014 at 10:59 PM 0
Share

Well I don't use 2D myself but if you put a collider on that section of floor and tick IsTrigger then it'll affect OnTriggerEnter (might be slightly different for a 2D collider) but not actually cause a collision so will not stop the player. You can detect that and apply whatever you want to the player.

avatar image MrHero · Dec 27, 2014 at 12:48 AM 0
Share

@Mmmpies Thanks that really help in getting the since of what i should do ^^

1 Reply

· Add your reply
  • Sort: 
avatar image
Best Answer

Answer by BlackWingsCorp · Dec 26, 2014 at 11:36 PM

You can put a box collider on the floor and check the is Trigger option, make sure the trigger area is high enough so that it can detect the player, add a tag "Player" to the player character, then use something like this:

 public int health = 100;
 public float speed = 20.0f;
 public bool isIn = false;
 
 void Update(){
 if(isIn)
 health--;
 speed = speed/2;
 }
 void OnTriggerEnter2D(Collider2D enter){
 if(enter.gameobject.tag == "Player"){
 isIn = true;
 }
 }
 
 void OnTriggerExti2D(Collider2D exit){
 if(exit.gameobject.tag == "Player"){
 isIn = false;
 }
 }


Hope it helps

Comment

People who like this

0 Show 1 · 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 MrHero · Dec 27, 2014 at 12:48 AM 0
Share

@BlackWingsCorp thanks that really helped, it worked as needed ^-^

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

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

How to prevent Rigidbody2D on enemy from Adding force on collision with the player 1 Answer

Rigidbody (2D) stays in fixed angle even when colliding 1 Answer

Health won't work. 1 Answer

How do I apply damage to the enemy ai using melee weapon OnControllerColliderhit 0 Answers

Dying on collision with enemy 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