2
$\begingroup$

I'm new to Blender.

Basically, I am trying to create an animation where 2 characters shake hands. And I want to export this to Unity for game development.

When I'm thinking about this task, I am assuming that I will export a single .fbx file that includes 2 characters, in which there will be 1 single animation that includes both characters shaking hands with each other. I assumed so because I thought it'd be stupid to animate them seperately.

The workflow I used is as followed in Blender:

  • I open Action Editor and create a new action called "Shake_Hands"
  • In this newly created action, I select and pose BOTH characters respectively as key frames.
  • Once I nailed down all key frames, I have a simple animation.

Then there's something really weird and counterintuitive I think.

I expect this action belongs to both characters. However, when I click on the NLA panel, I realized this action belongs to 1 of the character rig. This "Shake_Hands" action is under the "Character A Rig". And I couldn't find the other rig in the NLA panel.

But when I click on any bone of the other character and enter pose mode, I can see the key frames that I just created... This is very baffling.

Can somebody please explain why this is happening? If not, can you please tell me the best practice for creating interaction animations between multiple characters? What is the standard way of doing it for game development?

Thank you very much in advance!

$\endgroup$
4
  • $\begingroup$ I guess you have 2 different armatures, one for each character, so you probably have created 2 different actions, one for each armature, if you want to use the NLA you need to push down the 2 actions $\endgroup$
    – moonboots
    Commented Apr 6 at 6:07
  • $\begingroup$ Thanks for the headsup. Yes I've noticed this thing. But the thing is how do I combine both actions into 1 single animation? You see, in a single animation sequence both characters (who don't share the same rig) move differently. As I understand it, I push down the actions for both characters and name them similarly. For example, "Handshake Char. A" and "Handshake Char. B", yes? And I assume that means when I view any of the 2 actions the other character won't move, because the action I'm viewing is only for the rig I selected, correct? Wouldn't it be hard to cross-reference when animating? $\endgroup$
    – Murly Cel
    Commented Apr 22 at 5:04
  • $\begingroup$ You can make the 2 actions play together, not sure what your problem is $\endgroup$
    – moonboots
    Commented Apr 22 at 6:09
  • $\begingroup$ Got it. I'm using them for game development. I just export both characters seperately and their animations too. Then place them next to each other in the game engine and let them play their actions seperately. It works now. $\endgroup$
    – Murly Cel
    Commented Apr 22 at 6:54

1 Answer 1

1
$\begingroup$

If the 2 rigs are two separate armature objects, 2 different actions are created.

In the NLA editor uncheck the "View selected only" arrow to view both rigs, and press the "Push Down" buttons if needed.

Generally it's a good habit to export fbx files that contain one character only with its own rig, but it's a matter of preferences and workflows.

The only way to create a single action for both characters is to join the two rigs into one single armature object.

enter image description here

$\endgroup$
2
  • $\begingroup$ Thanks for the info Josh! Appreciated! The thing that confuses me is, in my mind, I assume the animation sequence I need should be a single "action". Therefore I expect to animate BOTH characters in a single action. But then I realized it is not how Blender works. So two actions (each for 1 char) combined together is my desired output, right? How do I export those multiple actions into 1 single animation then? Or I don't? Is my understanding of this correct? Thanks a lot in advance! $\endgroup$
    – Murly Cel
    Commented Apr 22 at 5:08
  • $\begingroup$ If you need a single action for both characters, the way to go is to join the two rigs into one armature object (Ctrl J): just make sure that every bone has its unique name, otherwise they would be changed during the joining, appending a ".001" suffix to the first selected rig's homonym bones), leading to potential failings. If needed there's a "Batch rename" function. $\endgroup$ Commented Apr 22 at 6:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .