2
\$\begingroup\$

I've been playing a game called Marvel Contesnt of Champions for android. In that game two opponent fights with each other in most 2D view but the game is developed in 3D. Each character has their own special move which dynamically interacts with opponent. So how does they achieve single animation for different characters?

By single animation I mean, for example, I'm playing with X character and he uses his special move on Y character and in that animation X character grabs character Y's neck and smashes him on the ground. Now, I'm fighting Z character with X character and in the special move he smashes Z character same way he smashed Y character. Is it like a common skeletal movements that are just changing their clothes(textures) ?

I'm pretty sure it's not pre-animated thing cause there are like more than 50 characters. I'm currently working in Blender and getting my character design right but this question was bugging me for a while and I thought there could be no better place other than here to clarify my confusion.

\$\endgroup\$
2
\$\begingroup\$

When you want a character skeleton to interact with objects in the environment (which might or might not also be a character skeleton), then you usually use a technique called inverse kinematics, often abbreviated as IK (the link leads to the documentation of the Unreal engine, but other 3d engines usually can do this too).

When you play an animation, like for example "grabbing another character's throat", you pass the position of the target object to the animation system. It will then modify the animation of the arm- and shoulder bones so that the hand-bone ends up where you want it to be.

If you have two or more characters which have different body proportions but the same bone hierarchy, then many engines allow you to easily reuse animation sequences between them. That's called animation retargeting.

Having animations where two characters interact with each other is complicated. There are several options:

  1. Fuse the two character skeletons into one for this animation. This gives you the most control over the animation, but might lead to problems when the two characters have different proportions. It might look as if individual bodyparts suddenly grow or shrink during the animation.
  2. Animate both skeletons separately. So one has a "smash other person into the ground" animation and the other a "get smashed into the ground" animation with the attackers hand as one IK target point and the floor as another.
  3. For this specific case of "getting smashed into the ground", you can also just deactivate the animation of the victim's model and use ragdoll physics with the throat-bone being the anchor point of the character model. It will look as if the victim gets thrown to the ground like a wet sack. This might or might not be what you are going for.
\$\endgroup\$
  • \$\begingroup\$ But doesn't that still requires me to set animation for other different skeletons too? Or am I understanding wrong? Like, I set a dance animation of X and Y now I changed partner with Z so X and Z will require another defined animation? \$\endgroup\$ – Aman Parmar Nov 21 '17 at 12:26
  • \$\begingroup\$ Oh the term animation retargeting will surely spread some light. I'll look into it and get back. \$\endgroup\$ – Aman Parmar Nov 22 '17 at 2:42
  • \$\begingroup\$ Hello, @Philipp 'Animation Re-targeting' was the thing I was looking for. More reading about it solved my confusion. I can't accept comment as answer. So please post the comment again as answer. \$\endgroup\$ – Aman Parmar Nov 26 '17 at 4:10
  • \$\begingroup\$ @AmanParmar Done. \$\endgroup\$ – Philipp Nov 26 '17 at 11:42

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.