Object IPO or root bone for position?

What animation method do you recommend for animation with armatures?

1: Animate everything inside the action except the position. Animate the position seperately with an IPO.
PRO: Plays back fast
CON: Doesn’t work with the NLA, feet tend to slide unless to hit the exact speed of the object.

2: Animate everything inside the action including the position.
PRO: Feet work great. NLA compatible.
CON: Slows Blender down tremendousely (for some unknown reason the further away from the center of the armature your bones get, the slower Blender is. Odd.)

Which method is best? Is there a good solution?

You got it mixed up for the NLA. The first (animate position in the object) is compatible, the second is not.

Martin

Heheh, good old Theeth. Never actually answers the question :wink:

Anyway, it depends if you are using a path. Otherwise you are right.

This made med think of how it could be changed in Blender: Wouldn’t the ideal solution be that the center always followed the armature in Pose mode? I imagine you could set one bone as the ‘Master bone’ or ‘Root bone’ which would move the object center with it. This way we would have the best of everything, and it will be possible to have a moving center while IK targets work as expected.

What do you think Theeth?

Yup, it’s good to showcase my diploma in Creation of Vague Answers :stuck_out_tongue:

Not only that, but if you use the same action blocks on two different characters, you’ll be stuck if you have the global motion right in the rig instead of having it in the object.

I’m not sure I understand what you mean by that. If you mean having a bone that would act as the center of the object and therefore permit object motion in pose mode, thant yes, this would be a very practical feature indeed. Not too sure how difficult it would be to code, but you might want to shoot that to Hos, I think it’s something that will interest him.

Martin

That was exactly what I meant yes. Hmm… You have a closer relationship to Hos don’t ya? :slight_smile: Ok ok I’ll see if I can find him on Blendercoders irc.

Throw in a special glyph (3d representation) for the Center-Bone and I really think we got ourselves a feature. There might be some problem with the transformation process, but since we’re redoing the transform function, it would probably be easier to stick something like that in it right now than wait later.

Martin

How would you recommend this should be implemented? I was thinking about a little button in armature Edit Mode in the Edit buttons saying ‘Root’. Only one bone per Armature could have this on.

What do you think? You say you would prefer if the root bone had a special 3D look? Sounds good, but how should it look then?

PS
Sorry, but while we are talking bones and armatures I really think we are seriousely in need for more bone types. Especially a null bone. It can act JUST like a bone does now, it must just look differently. Here is my idea of how it could work http://www.shadeless.dk/ui/armatures.htm

I don’t think it should be an option. It should be created automaticly as a counterpart to the object’s center when in Pose mode.

This has been in the plans for some time but keeps keeping pushed back for lack of time.

Martin

Ok, so there is always a root bone? But what if a user decides to use a different bone as the root bone?

BTW it’s good to hear that a null bone is being worked on. I’m looking very much forward to it!

I don’t see why you could possibly want to use a different bone.

Also, since it is the center of the object, all the loose bones are implicitly parented to it.

Martin

Ah, I see. Ok, sounds good. The cool thing is that you could animate the characters path with the root bone and store that in an NLA strip and then apply a walk cycle for example. This is something to look forward to.

excuse the intrussion and lack of knowledge of this 3d artist, but does this have something to do with the ability of make any selected joint glued and like reverse the ik order?

I was told it was quite hard to add in the actual blender code. I tried that trick with the action, but even after NLA section reading, action constraint type, and other related in the doc, I could not make work slikdigit method for pin a joint. Didn’t mention again to not disturb more and as this place seems is the one for user problems.

Anyway, I read a bit this thread, and…seems you maybe pursuiting be able to set a new root at any moment so to make it the glued point?

Well, the avi link in case it has some relation… if not, I’ll be very sorry for my intrussion… :o AVI ZIPPED

I’ve thought long and hard about this, and even proposed such a thing before. You can see the proposal here:

http://harkyman.home.comcast.net/armature.html

While this is one possible solution, it raises from potential problems for its use in conjunction with NLA. Let’s say you did an iteration of a walkcycle, keyframing the forward (or whatever) motion into the Action with the root bone. Would the root bone then move the object as well? It would have to, or something like a continuous cycle wouldn’t work. If that’s the case, the root bone would simply be a way to access the object position from within pose mode, allowing you to move the armature at the object level and store those changes in an Action strip. The only thing would be that the object level motion would have to be relative to its local space.

But if someone can get this working, in conjunction with the Pinned Bone feature that I’m working on and the other NLA proposals that are being talked about, the character animation could take a giant leap foward.

Hmm well, it has to be slighty diferent than just accesing the Object position from withing an action, because it needs to work in conjuction with IK. If the Root bone (or Object bone) moved the IK targets when translating it wouldn’t be that much use, because we are back with the old problem of sliding feet. IK targets have to be able to move independantly of the Root bone, and therefore not all bones must be a child of the Root bone.

My conclusion is then that, as I suggested earlier, the Root bone has to be chosen from the list of available bones by the user. He/she can then select a root bone in the pelvis area of a character, and the IK goals etc. would stay independant. Otherwise it isn’t much use IMHO.

But if someone can get this working, in conjunction with the Pinned Bone feature that I’m working on and the other NLA proposals that are being talked about, the character animation could take a giant leap foward.

Yup, this is going to be a good period for Blender character animators. Since character animation is usually one of the main attractions of a 3D application this will be a huge benefit for Blender, making it truly possible to do pro animations involving characters. If the RVK system gets updated too (here is my proposal: http://www.shadeless.dk/ui/morphtargets.htm), we can wave goodbye to Softimage for good.

I am so interested in it exactly because that what you mention: It’s already really powerful. And spending like 400 or 500$ in a mid cost software wont bring the amount of working advanced features that are now in Blender. (is not a fan’s talking , I have just arrived: Is a fact…! )

I think that the basic(basic. As is quite an very good tool) max Character Studio functionality(Blender has even paste pose!..CS does not have vertex weight painting…Skin modifier does) will be fully there with the pinning thing. (well, I meant with all the changes in NLA to make it work :wink: ) I worked making game art in certain 2 game companies. (with cs only in one) and think the only tool that can end up finally killing my nostalgy about Character Studio is Blender. And that is saying really a huge lot. :slight_smile:
Indeed, after handling a lot of 3d tools, knowing a lot of different 3d UIs is when I have been able to learn Blender.Surely also as it indeed has improved a lot, and also as I was more patient with reading the doc :wink:

You have to have some way for feet to stay on the ground when you move. That’s the whole problem. If you check out my linked proposal, the root bone thing does NOT move other bones in the skeleton. You’d have to have it generate an inverse translation/rotation relative to the object, though, and it seems that it would just get nasty.

But here’s the real question: Say you have this bone, and you move the root bone away from the object center. You repeat this strip in the NLA for a walk cycle. How does the NLA handle this? Do you compound the movements away from the object center with each repetition? That’s completely different internally from the way it works now. This is why I abandoned this method in favor of NLA bone pinning.

For anyone who hasn’t seen the thread about this on blender.org, Bone Pinning is selecting a bone in an NLA strip that will be matched in position and orientation to the current location of the bone. In other words, no matter the position of your armature in relation to the object center, the Pinned Bone (say, the Left Foot, if that is what’s planted) in your top-most NLA strip is used to align the objects on the fly so that the Pinned bone will not slide, regardless of the internal positioning of the different Actions.

What I’m suggesting here is a way to animate the object through the “Center-Bone” while in pose mode. IMHO, nothing nasty in there.

The root bone (or, as I like to call it, Center-Bone) would move the actual object, so this point is moot IMHO.

Martin

Indeed, it has many more uses than just glueing the foot or feet (while that is the main one) .Once you find your self animating a lot and quick, it comes really handy to go setting fixed points depending on the moment… A child jumping over a fence (pivoting over his left hand) or just very often is needed an arm or part stay in place while animate/pose all the rest. Even more, if needed some balancing, trembling, is better to start over a fixed part, and not unwanted extra poistion change for an ik or fk posing with that part glued.

hey, it sounds there’s some possibility…
:slight_smile: :slight_smile: :slight_smile: :slight_smile:

EDIT- I purchased not long ago Truespace 4.3 in their retiring offer.It has also the joint pinning (well, in that case matches more the term “bone locking” as you don’t pin a joint with that, but a bone (for me, that’s a pair of joints, so , less flexible)) , and well, it worked…not to well, but better than nothing. But I see way better the Art Of Illussion aproach to joint pinning (seen on the avi I posted at the end of pevious page of this thread.) in terms of usability/handling, and as it locks only the joint.

theeth - not trying to be snarky here, but I have some honest crits of this technique. If you think they’re workable, great - you obviously have a much better sense of what’s doable in the code than I do.

EG: Root bone moves the object. IK targets, which should remain in place, also move with the object. Feet/hands/etc. slide. Do you really want to perform an inverse translation on all IK targets when the root bone moves the object? You either do that, or the animator must keyframe their motion backwards to take the object motion into account, which is what you were trying to avoid having to do in the first place. If you go this route, I think that you then have to implement keyframable world-space pinning of joints and/or bones to alleviate this new problem.

And isn’t this tantamount to allowing keyframing at the object level to be included in Actions? It seems like it to me. If not, how would it differ, functionally? If so, wouldn’t it be more flexible to just build support for object-level framing in the Actions system?

Now if someone wants to do something really useful, create a constraint type that allows you to set a “floor” for bones, definable either numerically, or by object reference. Bones/objects with this constrant (hello, foot bones!) would not pass below the specified level.

I have to agree with Harkyman, not all the bones can be children of the Root bone because of problems with IK (as I also mentioned in the blender.org post earlier today). I favour a system where the user sets which bone is the Root bone, and where only the Root bones children move with it.

This system is flawless as far as I can see. Want to to a walkcycle using IK with the character moving forward? Create the main movement with the Root bone in one Action strip, then create the walk cycle in another strip (without adding keyframes for the root bone). Cycle the walkcycle and add the root bone strip in the NLA.

Or, simpler, if you don’t use NLA just keyframe the root bone through the scene and then animate the IK targets acordingly and everything should end up nice.

Any trouble with this workflow?