2
$\begingroup$

It's a little hard to explain, so I've created a video to accompany it. I'm just trying to get the basics of animation actions in blender, but am coming across some nasty problems, that aren't expected (to me).

When I have multiple armatures under one action (move up), and then try to create a second action (move down), it seems that just selecting an armature changes the action in the action view, and even when the channels are locked, the first action is destroyed after I've finished moving the bones for the move-down action. It's as if multiple armatures aren't supported or conflict if used in two actions sharing the same timings/keyframes?

(not shown in the video) It seems that I can get the first action working again simply by selecting the bone and chosing 'move up' again in the animation window.

See the video - what am I doing wrong? When I lock a channel I MEAN LOCK. https://www.youtube.com/watch?v=GV_ML0Cvaik&feature=youtu.be

Here's the original blend file badactions.blend

NOTE1: This is a simplistic example. My actual model was a huge steampunk cross bow, launching ships into space, that had many moving parts to draw and release the bolt & position ships. NOTE2: I can fix the end result by selecting the cube armature again and chosing the 'move up' action in the animation window - that seems to alter the animation data and fix it - but that's totally ridiculous to do.

What I'm trying to achieve is really easy and obvious - yet blender seems to make it hard.

What I'm looking for is instruction into how to build animations without having to constantly double check that actions I've already finished haven't been broken by new actions.

$\endgroup$

3 Answers 3

0
$\begingroup$

Each armature has its own reference to an Action datablock. While it is possible for each armature to refer to an identical action (because datablocks are reusable) this would usually only be used when both armature objects use the same armature data (or use compatible armature data with compatible bone names).

It is unclear what you are trying to accomplish and why this behavior is a problem for you.

Just understand that it is inaccurate to say "I have multiple armatures under one action ". What blender can do is have multiple armature objects which use the same action. If you want an object to act differently than another object, they need to have different action datablocks in their animation_data.action field

$\endgroup$
4
  • $\begingroup$ I wanted two actions - move up that moved both armatures up; move down that moved both down. I could then use them in the dope sheet or in unity. But as clearly demonstrated, when I tried to do this in blender, the move up action has been corrupted by my positioning in the creation of the move down. The sphere seems to have behaved, but the cube is wrong. $\endgroup$ Commented Aug 29, 2016 at 18:02
  • $\begingroup$ Obviously my example is simplified, but I encountered the issue multiple times on creating N actions to orchestrate armatures. $\endgroup$ Commented Aug 29, 2016 at 18:26
  • $\begingroup$ One thing that is confusing is that you have one action that appears to apply to bones in two different armatures. To get to the bottom of this you are going to have to post your sample .blend file, not a video. I think mostly this is just a failure to understand how animation works in blender and experienced users can't even imagine what mental model you have built up that mismatches blender's mechanics. $\endgroup$
    – Mutant Bob
    Commented Aug 29, 2016 at 19:04
  • $\begingroup$ Absolutely - that's what I want. Actions that affect bones in different armatures (each action would be run synchronously). I'll update the post with a .blend file $\endgroup$ Commented Aug 29, 2016 at 19:29
0
$\begingroup$

After several more attempts to solve the problem, and not being able to cleanly set up independent actions which affect more than one armature, I've found a workaround. So I can only assume that Blender has a bug when working with multiple armatures, or it just isn't designed to pose more than one armature in an action, which feels like a bit of a gap.

By splitting the actions into multiple .blend files I can successfully retain a move-up and move-down action on two armatures. (remember, this example is SIMPLIFIED), when tied together it works fine in Unity. Splitting Animations

If you're interested in the real model that I encountered this issue, you can see a video of it here - skip to 2:40. It has an armature per cog, another for the bone that pulls back the string, and an armature for the crane, all in one model where animations need to be in perfect synch. It was hard to get Blender to stop fighting, but somehow I managed it without splitting up the files, but I daren't ever edit it again. So, you can see the obvious need to manipulate several armatures in each action (draw,crane,release,rest), run on demand.

$\endgroup$
3
  • 1
    $\begingroup$ Any reason why you are using separate armatures for different parts of the same object? Blender (and in fact most 3d programs) are built around the assumption of one armature per 'character' which in this case is your spaceship thing. $\endgroup$
    – Sazerac
    Commented Dec 5, 2016 at 0:46
  • 1
    $\begingroup$ @Sazerac (in my head) there are a number of distinct sub-objects in the scene. The cogs, the crane and the drawstring. It made sense at the time that in real life these could act independently, with some orchestration that ties them together (actions). If I ramped up to a bigger scene that's what might happen anyway. Now I'm more experienced I can see how to do it all with one armature. Blender let me hang myself and did produce very wacky results instead of warning me of my foolishness. $\endgroup$ Commented Dec 5, 2016 at 5:52
  • $\begingroup$ @Sazerac after doing more modelling and animations with a 3D dog, I've come to the conclusion that your simple comment is pretty much the answer - One should use one armature per .blend file, and use disconnected bones for sequencing animations which look like they're independent actions but are just orchestrated bones. If you enter an answer along those lines I'll mark it as correct. $\endgroup$ Commented May 5, 2017 at 8:10
0
$\begingroup$

I also have conflictions with my animations that conflicted with each other even though they were seperated on different armatures. What I think that helped for me is that I removed the accidentally created stashes that wrongly connected to the armatures.

When I reposed and keyed one the other started going crazy and now it seems to be okay. Maybe this helps for future reference I suppose

$\endgroup$

You must log in to answer this question.

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