In my animation, I had my lamp use its base to knock away another object. However, after I rerigged the lamp using the armature modifier, the collision no longer works; the lamp’s base just passes through the other object. This happens regardless of whether I leave the lamp parts separate or whether I join them all together and apply a new rigid body to the whole lamp. How do I get the collision working again?
Hey Zach,
I remember this from yesterday.
If you can upload the file here then if i dont get to check back there are a few other students here that may be able to help out.
I havent tested this far into the physics system myself but my instinct would be to remove all the physics from all objects and restart the animation on the physics side again.
Remember to save before hand and often a good idea to increment the saves as a source control option
Another trick could be to add an invisible object, to act as an active physics object. moving along the lamp, lamp base. Blender animation (physics) doesn’t have to be exact (physics). The end goal is to have a believable animation, how it’s achieved is completely up to the designer.
There are other tricks in the trickbox then physics.
Hi Marc,
This isn’t the same problem as before, though I understand the confusion; the physics have been the source of a variety of weird issues.
Here’s the first version. The lamp is made up of multiple objects parented to the bones. The lamp’s base has a rigid body that successfully collides with the vase
https://drive.google.com/file/d/1sbv5zkxvAFLixX7TRWmzwq7Z8IcSUviO/view?usp=sharing
Here’s the rerigged version. The lamp is now a single object with distinct vertex groups, rigged using the Armature modifier. Since the lamp is a single object, the whole thing has a single rigid body, with the same settings as the one the lamp’s base had. It passes directly through the vase
https://drive.google.com/file/d/151mB-AVzImUyxPJkTsYzqMcCWH9ghOv-/view?usp=sharing
“Another trick could be to add an invisible object, to act as an active physics object. moving along the lamp, lamp base.”
That’s true, but if I’m doing something wrong and there’s a direct fix for this behavior, I’d prefer to learn it. That said, making a new cylinder object and parenting it to the appropriate bone in the same way the base was originally parented does work.
After some experimentation, I’m thinking that the armature modifier doesn’t invalidate the rigid body, but it isn’t moving it in the expected way so that it stays with the lamp. Though I don’t know a way to make the rigid body visible to know where it is moving, if anywhere
This goes a bit beyond my knowledge now as i know why its happening but not exactly how to solve the issue.
This might help as i think its similar to your issue
Thanks. From the sound of it, Armature animation is basically incompatible with rigid body physics. It’s good to know that there’s no clean fix and that it’s simply a limitation that needs to be worked around.
I’m curious about how the OP in that topic will need to deal with the issue, since they said that they’re designing an enemy and thus presumably will be exporting the model. Didn’t we rerig our lamp partially because the old bone-parent rigging was incompatible with exporting? So would those sorts of intra-model physics need to be established within the game engine with separate objects instead?
Its likely that is what they would have to do is make the collisions happen in the game engine and use the physics system there instead.
If the plan is for a game engine then you can do that part of the animation in the game engine after the impact point with the lamp.
This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.