Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 14 Next capture
2021 2022 2023
2 captures
12 Jun 22 - 14 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
1
Question by marcell123455 · Sep 18, 2017 at 01:15 PM · rigidbodyvelocitydirectioneasy

Rigidbody Local Velocity

Hey all the Unity Pro´s i have a little problem with my rigidbody´s velocity. look

I want to say, hey rigidbody of target, if you enter the trigger i want that you slow down your velocity at your local x axis. so i tryd this: http://answers.unity3d.com/questions/404420/rigidbody-constraints-in-local-space.html

but its not working. The rigidbody slows down yes, but on its global x axis and this is the problem. Sees anyone my mistake?

Thank - Youuu

 void OnTriggerEnter (Collider target) {
         if (target.tag == "Car" || target.tag == "AI" || target.tag == "Destructable") {
 
             if (NeedForceToBreak == true) {
                 if(target.attachedRigidbody.velocity.magnitude >= min_Velocity){
                     localVelocity = target.attachedRigidbody.transform.InverseTransformDirection(target.attachedRigidbody.velocity);
                     localVelocity.z = target.attachedRigidbody.velocity.z;
                     localVelocity.y = target.attachedRigidbody.velocity.y;
                     localVelocity.x = target.attachedRigidbody.velocity.x - StopVelocityForce;
                     target.attachedRigidbody.velocity = transform.TransformDirection (localVelocity);
                 StaticObject.SetActive (false);
                 ObjectWPhysics.SetActive (true);
                 Trigger.SetActive (true);
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
2
Best Answer

Answer by Bunny83 · Sep 18, 2017 at 02:50 PM

Those lines make not much sense:

 localVelocity.z = target.attachedRigidbody.velocity.z;
 localVelocity.y = target.attachedRigidbody.velocity.y;
 localVelocity.x = target.attachedRigidbody.velocity.x - StopVelocityForce;

First of all you overwrite all 3 values inside localVelocity, so it would be what you did before to the variable. Also you overwrite the velocity which is in local space with the worldspace velocity of the "target" rigidbody.

Next thing is you subtract "StopVelocityForce" from the x component. However that does not necessarily "brake" or or slow down. If the velocity is currently to the "local left" side you would actually speed up into that direction.

Finally you convert the velocity which now contains a world space velocity from local space to world space again. That means the result is complete nonsense.

You probably want something like this:

 Rigidbody rb = target.attachedRigidbody;
 localVelocity = rb.transform.InverseTransformDirection(rb.velocity);
 localVelocity.x *= 0.5f; // cut sideways speed in half
 rb.velocity = rb.transform.TransformDirection (localVelocity);
Comment
Add comment · 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 marcell123455 · Sep 18, 2017 at 03:31 PM 0
Share

yep this worked, thanks ;)

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

93 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 avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Change velocity direction 1 Answer

Velocity powered rigidbody on a moving platform without parenting. 3 Answers

Rigid Body relative speed 1 Answer

How can I convert velocity/direction to Force? 3 Answers

Throwing knife goes straight 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