1
$\begingroup$

I'm a complete novice when it comes to doing anything other then making basic models in blender so if there's a simple solution to this i'm sorry I didn't figure it out already.

I've been working on a gachapon-style enemy for a little while now and found out how to add physics to the transparent tank and balls inside it so that the balls would move around when the tank was moved, this all worked perfectly fine until I rigged the model and found out that the balls only move when the tank is moved as an object as when it's moved with the bones the balls just sit in place as if the tank were still in the same position.

for example: enter image description here enter image description here here's the tank the balls are held in, they move and bounce around inside just fine when I move it in object / edit mode (while the timeline is playing, of course)

but whenever the tank is moved with the armature, be it in regular object, edit or pose mode, the balls don't react the same way enter image description here enter image description here

$\endgroup$
1
$\begingroup$

Using an armature to animate a (passive) rigid body using Armature Deform distorts the mesh, rather than actually moving the rigid body - this will affect the final visual state of the mesh but not its underlying location or rotation. The Armature Deform takes place after the simulation and so does not affect the simulation.

In your case you need to parent the 'container' to a specific bone - so that the bone is the Parent of the entire container (rather than using Armature Deform). The container should be a Passive rigid body since its location and rotation will be controlled by the bone, rather than simulated.

By default, the rigid body simulation does not take account of the animated locatation or rotation of the mesh - so the actual influence of the mesh is as if it is still in its original location - this is what you are seeing in your current simulation. However, if you enable the Animated property of the rigid body this tells the simulation engine to take account of any translation and rotation of the mesh before it is used to affect the simulation. This should now result in the contents being affected by the motion of the container, similar to the following :

animated rigid body

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.