• 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 /
This question was closed Feb 03, 2015 at 12:49 PM by meat5000 for the following reason:

The question is answered, right answer was accepted

avatar image
0
Question by MikeErty · Feb 03, 2015 at 10:35 AM · physicsragdoll

Ragdoll behaving incorrectly when disabling animator component.

I have two fighters. One kicks the other one in the head and the other one drops to the floor like a ragdoll.

The set up so far is - the character is fully set up as a ragdoll but is actually being controlled by the animator - thus preventing the ragdoll from happening. The idea is to flip the switch in code and remove the animator component and thus release the ragdoll.

This actually works, but only half the time.

When the ragdoll is triggered, half the time he drops as you would expect, but the other half of the time its like some invisible Monty Python foot has stomped him into the ground crushing him with ridiculous force. Sometimes this pushes him through the ground plane where he gets trapped and flails around for a bit before the physics launch him into the air.

Why does this happen and how can I prevent it? It's frustrating because it actually works fine the rest of the time.

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

  • Sort: 
avatar image
0
Best Answer

Answer by MikeErty · Feb 03, 2015 at 12:32 PM

Solved my own problem within fifteen minutes of posting this. Sometimes the act of asking the question sparks new ideas for solutions! I'll write this here anyway so anyone else with a similar issue can use it.

I was playing around with the ragdoll and the animator. I noticed that turning the ragdoll off straight away (after pressing play) resulted in a fairly smooth ragdoll effect. The longer I waited before activating the ragdoll the more insane the reaction.

We figured out that perhaps the rigidbodies - being active from the start but repressed by the animator - were somehow storing energy as they constantly tried to calculate where they should be going without actually being allowed to go there.

I wrote a foreach loop which would make all the rigidbodies kinematic at the start, then make remove the kinematicness (that's a word I made up) when he gets kicked. This allows the rigidbodies to calculate a nice clean simulation the moment the animator is turned off.

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 meat5000 ♦ · Feb 03, 2015 at 12:49 PM 0
Share

Indeed, there was another question on UA recently relating to collisions that observed the same effect, as if the energy was being stored and resulted in a massive impulse.

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

19 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

Related Questions

How to make Character Joint rotate towards a rest position? 0 Answers

How to Control A Ragdoll 1 Answer

Help with Ragdoll Character Controller 1 Answer

How to apply joint's inverse forces to another body 1 Answer

2D Ragdoll 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