- Home /
Questions about physics based combat (animation + collision, hinge joints++)
Hey. I'm trying to think of ways to make sword fighting possible in Unity, when it comes to colliding with an opposing sword. It will not be enough to run a couple of generic "impact" animations, since this is as much a simulation as it is a game. So impacts must be taken into consideration, strong/weak parts of the blade, stuff that makes sense to a physics engine!
So, most importantly - what I have tried:
-Parenting swords with rigidbodies and colliders to hands (with "Animate physics" + Extrapolate etc) - transforms/animations win the battle, as expected (swords go straight through).
-This one is more interesting, and has been the closest to work so far: swords have no parents, and use hinge-/configurable joints to attach itself to the hand. This way it reacts to physics quite nicely actually, but gets beaten out of position despite having its anchor in the hands. Also it doesn't follow animations too convincingly, so it's a bit 'sloppy'. Ideally, the position would be super locked to the hands by the anchor, and only receive rotation impact from whoever binds against the sword.
Something I haven't tried but only thought about (but don't like..) is using IK to manually oversteer the position/rotation of the hands based on the hit point between the swords, but it would make for an abundance of difficulty and probably ugliness the way I imagine it.
My questions:
Why don't the joints behave as if they were really stuck into the hands? Can it lock completely around its anchor?
Any other suggestions than these approaches?
Increasing the mass of the hands keeps the sword in place, but makes it shake uncontrollably and violently during and after the impact. It works as I want apart from the shaking...
Your answer
Follow this Question
Related Questions
Collision with moving door 0 Answers
Hinge Joint Glitch? 0 Answers
Physics based combat reactions merged with animations? 0 Answers
How should I make a animate fully physics based Active Ragdoll? 0 Answers