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 ciwiaf · Mar 05, 2015 at 11:18 AM · rigidbody2dvelocityparentchild

Decrease rigidbody2D velocity per object attached to parent

I want to make the velocity of my Player to decrease based on how many object(Child) attached to it. here's my code so far, but this one just sets the velocity to a certain amount, I want it to decrease 1f per oject(Child) attached:

     if (!dead)
     {
         if(transform.Find("Enemy2")){
             Vector2 newVelocity = rigidbody2D.velocity;
             newVelocity.x = 1.5f;
             rigidbody2D.velocity = newVelocity;

         }else{
             Vector2 newVelocity = rigidbody2D.velocity;
             newVelocity.x = forwardMovementSpeed;
             rigidbody2D.velocity = newVelocity;

         }
Comment
Add comment · 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 d2 · Mar 10, 2015 at 04:40 PM 0
Share

this is in the Update function?

avatar image ciwiaf · Mar 11, 2015 at 10:19 AM 0
Share

yes it in Update

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Mangas · Mar 10, 2015 at 08:57 AM

Do something like this then:

 newVelocity.x -= 1f * transform.childCount;
Comment
Add comment · Show 4 · 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 ciwiaf · Mar 10, 2015 at 04:14 PM 0
Share

this boosts the player backwards at lightspeed. lol. I think it keeps on finding the "Enemy2" child, so the velocity kept on subtracting even though it only has 1 child. how can I stop that from happening?

avatar image Pendantic · Mar 10, 2015 at 04:47 PM 1
Share

You have to make it so the above script is not modifying the current speed so it should be something like

   Vector2 newVelocity = rigidbody2D.velocity;
      //this
      newVelocity.x = 1.5f/transform.childCount;
      //or this and it will never be negative
      newVelocity.x =$$anonymous$$athf.$$anonymous$$ax (1.5f-(transform.childCount*0.1f),0);





avatar image Mangas · Mar 10, 2015 at 07:24 PM 1
Share

$$anonymous$$aybe what you need is to Clamp the velocity as well:

 $$anonymous$$athf.Clamp(newVelocity, [$$anonymous$$ value], [max value]);

That way the velocity will never go over the maximum value, obviously I'm not posting the entire solution here, but with transform.childCount and $$anonymous$$athf.Clamp() you should be good to go.

avatar image ciwiaf · Mar 11, 2015 at 10:27 AM 0
Share

Pendantic's suggestion worked great! though the children are getting detached after the player stops moving, but I'll try to figure that one on my own:) and also, thanks for the tips $$anonymous$$angas, I've never tried Clamp before but now I will.

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

How to move your player with a moving platform (parent-child method not working). 2 Answers

Make a simple tree 1 Answer

Parent class cannot find component 0 Answers

Clicking on child executes parent script when Rigidbody2D present? 2 Answers

Child coordinates misunderstanding. 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