Making the NLA useful

Animation tools, character animation, non linear animation

Moderators: jesterKing, stiv

slikdigit
Posts: 213
Joined: Wed Oct 16, 2002 3:52 am
Location: Northampton, MA (US)

Postby slikdigit » Sun Apr 11, 2004 11:31 pm

Hi Oin (and others)
Its a good idea to provide an example, and I will do so.
This must be a simple blend and avi to illustrate just that idea, but since I haven't made this blend yet, I'll show you a opengl anim that I'm working on that encapsulates it- you can see the character 'steping into' the footstep of a second armature, locking his foot, while he blends between actions.
the anim is long, encoded xvid. If you don't want to download it wait, and I will get around to makeing a shorter, concise example (with a .blend!)
http://www.slikdigit.com/movies/test.avi
the entire sequence is nla strips- 5 strips currently (will probably be 7 or 8 when I'm done) and an overriding 'constraint' non strip action. 3 of the strips are path actions, two aren't, and the path speed is animated.

oin
Posts: 161
Joined: Fri Apr 02, 2004 6:34 pm

Postby oin » Mon Apr 12, 2004 9:53 pm

It looked ok here (finally found a compiled codec for windows ;)) Just maybe in the moment the foot takes place in floor slides a bit, but maybe that's intentional and not a problem of the method.

Is it quick in workflow to use it?

I don't get much of how you are doing, but don't pay attention to me, I am just a blender newbie. :) I mean, I don't even know how to handle NLA window, I was just searching for a new hotkey to glue/toggle a joint in space. But looks you probably have solved it with that trick :)

slikdigit
Posts: 213
Joined: Wed Oct 16, 2002 3:52 am
Location: Northampton, MA (US)

Postby slikdigit » Tue Apr 13, 2004 3:57 am

ok, just did a quick demo file. took about an hour to make, includes simple modeling, simple rigging and 2 walk cycles, and two poses plus the blending.
the .blend has 3 scenes that are full copies
the scene 'first' is the scene is where I made the actions: pose1 and pose2 are static poses, walk1 and walk2 are 2 different walk cycle.
'animation' is the scene where I blended between two walkcycles on a path. you can see the animated constraints that lock the left and right foot goals to the anchor armatures feet, during the blend between the two cycles.
and the last scene 'poses' is where I blended between two diff poses with locked feet so they don't slide (the constraints here are not animated but they couldbe if it was part of a longer complex animation)

walkcycles, poses and model are dodgy, but I just wanted to quick show a principle.
workflow is passable for this method, and the actions don't have to 'know' about each other. That doesn't mean that it couldn't be made better.
If you have questions ask, if you want to see it move render it, but be warned its going to move too fast at 30fps, perhaps 15 or 12 would look more normal.
oh, the url
http://www.slikdigit.com/blends/pathlockdemo.blend
I just edited the file so the animation one is clearer,a nd added a lock for the body as well as the feet, so the transition would be smoother.

Monkeyboi
Posts: 561
Joined: Tue Nov 26, 2002 1:24 pm
Location: Copenhagen, Denmark
Contact:

Postby Monkeyboi » Tue Apr 13, 2004 7:28 pm

I think the NLA editor could be restructured a fair bit. It is a pity that it is so unobvious to use (press alt-a over the object name to add a strip). It would also be VERY useful to be able to have several NLA datablocks, so that you could save several NLA-animations. The ability to mix IPOs is also much needed.

slikdigit
Posts: 213
Joined: Wed Oct 16, 2002 3:52 am
Location: Northampton, MA (US)

Postby slikdigit » Tue Apr 13, 2004 8:32 pm

Monkeyboi: don't forget the most glaring problem- the (in)ability to reorder strip depth, or to insert a strip between two.
unless I'm missing something, this can't be done. If I am missing something please tell me how to do this! I'm tired of having to delete half my nla to add something and then have to re-add the strips at the right frames, with the right parameters. (I know I've missed the obvious before :wink: )

Monkeyboi
Posts: 561
Joined: Tue Nov 26, 2002 1:24 pm
Location: Copenhagen, Denmark
Contact:

Postby Monkeyboi » Tue Apr 13, 2004 10:29 pm

True slikdigit, that is also a major fault. I agree.

With (relatively) little work, the NLA editor could become immensely powerful!

Another thing I dislike about it (that nobody has ever mentioned that I know of) is that the blending method between strips is always very hard and non-curved. Instead of the Blendin/blendout parameters it could be useful to add a system where you could drag a visibility curve inside the strip to fade out or fade in, or to fade down in the middle etc for more control and smoothness.

slikdigit
Posts: 213
Joined: Wed Oct 16, 2002 3:52 am
Location: Northampton, MA (US)

Postby slikdigit » Tue Apr 13, 2004 11:04 pm

we were chatting on irc (w/ theeth and hos) and the idea of using ipo curves for 'intensity' of the strip instead of blendin/blendout was proposed (I forget by who)
being able to edit curves directly on the strip would be uber-nice, I agree.
I like the idea of being able to save nla datablocks, good idea. I think you can have a similar thing by adding new scenes to your .blend, I tested only with 'full copy'
a little sideffect of that way is you have to re-name your constraint targets after the full copy. (could be tedious on a large scene)

Monkeyboi
Posts: 561
Joined: Tue Nov 26, 2002 1:24 pm
Location: Copenhagen, Denmark
Contact:

Postby Monkeyboi » Wed Apr 14, 2004 12:00 pm

Yeah I thought of suggesting it as an IPO curve like the Sequence Editor has it. But really, the Sequence Editor AND the NLA Editor should both have a direct curve-on-strip thing instead of the IPO hooks.

I figured out the scene thing. Yeah, you can add several scenes, but that's not practical at all. If I want to use the NLA editor for a long animation project with lots of shots and scenes, it would be extremely useful to be able to save several NLA datablocks. Also, when I'm working on an Action, I find a need to disable the NLA, which would be possible if the NLA had datablocks.

slikdigit
Posts: 213
Joined: Wed Oct 16, 2002 3:52 am
Location: Northampton, MA (US)

Postby slikdigit » Wed Apr 14, 2004 4:43 pm

Also, when I'm working on an Action, I find a need to disable the NLA, which would be possible if the NLA had datablocks.

yeah, this is compounded when you're also using path constraints (the need to disable them too.
I find myself cloning at least the armature, and sometimes also the associated mesh/objects to work on individual actions.
Incidentally, does the nla window on your system behave normally when switching between fullscreen and regular mode, and upon pressing the home key? I've seen some weird behaviour on mine, where it overlays strips or 'loses' them.

Monkeyboi
Posts: 561
Joined: Tue Nov 26, 2002 1:24 pm
Location: Copenhagen, Denmark
Contact:

Postby Monkeyboi » Wed Apr 14, 2004 6:29 pm

slikdigit wrote:Incidentally, does the nla window on your system behave normally when switching between fullscreen and regular mode, and upon pressing the home key? I've seen some weird behaviour on mine, where it overlays strips or 'loses' them.


no, I haven't seen that here yet. On the other hand I only very rarely maximize the NLA editor.

Ok, seems we share a pretty clear vision of what things must be done. Here is a list of stuff in no particular order:

1. ability to reorganise strips vertically
2. datablocks for the NLA editor
3. Intensity curve for strips to replace 'Blendin' and 'Blendout' (preferrably editable in the strip itself)
4. Ability to mix IPOs like you can with Actions
5. Harkymans 'pinned bone' constraint thing for better morphs between strips
6. Improved UI that is more obvious to use (the 'N' and 'alt-a' features are hidden)

Anything else?

slikdigit
Posts: 213
Joined: Wed Oct 16, 2002 3:52 am
Location: Northampton, MA (US)

Postby slikdigit » Wed Apr 14, 2004 9:37 pm

very concise!
I'm going to think about this for a bit, but it looks to be a precise well ordered list. potentials:

* action specific parameters are saved with the strip: stride length and action range start/stop. it would nice to have a default saved per action, so you didn't have to re-discover the stride length every time you loaded the same cycle. It is still important to be able to over-ride this on a specific strip, if you want to make the feet slide for some reason, or want to use a different range of the action.

*workflow enhancement possiblity: the ability to click on a strip, that has a start, stop, path settings, possibly blend in and blend out (or intensity ipo :twisted: ) and change the action it refers to - might be nice to use for changing walkcycles for instance. There are some caveats- you have to decide whether to keep some parameters (stride length, action range) or modify them for the new action. It could be done with this decision flow:
Is the strip-parameter modded from the action-parameter?
Yes-keep the strip-parameter as-is
No-use the parameter from the new action.

Monkeyboi
Posts: 561
Joined: Tue Nov 26, 2002 1:24 pm
Location: Copenhagen, Denmark
Contact:

Postby Monkeyboi » Wed Apr 14, 2004 11:32 pm

great ideas slikdigit. the ability to easily replace action strips would be neat

slikdigit
Posts: 213
Joined: Wed Oct 16, 2002 3:52 am
Location: Northampton, MA (US)

Postby slikdigit » Thu Apr 15, 2004 5:07 am

Aaahh forgot one thing:
* the ability to mix constraint ipos within strips, not just the top level action. i may be dense but constraints are animatable and part of animation- and may logically be part of an action.

I'm not sure if #4 refers to this? or is it towards general IPOs (I'm guessing the latter, since I'm talking about constraint ipos that are part of an action)

PS: oin and harkeyman: did you lookat the .blend I posted a few messages up? does it answer your problem of pinning bones in the current blender version?

quite frankly I have no personal need for #5 and #6in monkeyboi's list- the constraint system as is does the job for me, and I know the interface. But I have nothing against them either- esp. if its done in a neat way and has an a fast slick workflow 8) , whereas items 1 thru 4 represent new functionality that I feel a need for.

Monkeyboi
Posts: 561
Joined: Tue Nov 26, 2002 1:24 pm
Location: Copenhagen, Denmark
Contact:

Postby Monkeyboi » Thu Apr 15, 2004 7:44 am

heh, I know the interface too, but I think it is a pity that the NLA is much more unobvious to use than other windows. It's not something that will help me, but I know it will help others.

oin
Posts: 161
Joined: Fri Apr 02, 2004 6:34 pm

Postby oin » Thu Apr 15, 2004 9:07 am

"PS: oin and harkeyman: did you lookat the .blend I posted a few messages up? does it answer your problem of pinning bones in the current blender version? "

Well...I am Character Studio/Max, and Character Fx user. (well, have used Anim8or, and some other animation software more, but not too intensively) .I mean, to Blender I am a newcomer. Mostly I don't know most of Blender stuff. I just learned how to import an obj, restore smoothing, materials, cameras, lights, setting up basicly bones, weights, and adding keyframes. Of course some more basic editing, and interface stuff. But no more, and all at very basic level. Just what I was needing, and mostly to see if Blender could do what I needed. Well, I opened your avi file, and the blend file. But as newbie I am, only see those goals bones, and tried to see the constrains...but can't understand much of it. Anyway, I guess from what you write that you have to create a second skeleton to be like the target for the actual armature to get pinned to every point, to the bones in the other skeleton. And that having done certain constrains tricks, etc... I am sure that works well. I just mean that as you see, I did not even have to look at a manual (good for newcomers) to pin joints (and for most of the stuff, except setting weights, was a bit less intuitive) in Art Of Illussion, the avi in the thread I posted in the other thread was from it. Also, in workflow, this , imho, needs to be quick..and what is more quick that how is done in that software... In character studio, you hit a button, and that pins the joint selected...with that selected again, you hit another button, joint un-pinned... I have animated real time game main players, npcs..and that type of workflow is somehow important, as till you get an animation passable, lots of tweaking, so any workflow speed thing is needed.

I suppose this is very difficult to add in the internal code of Blender. If so , excuse me, as I know very little of Blender...perhaps suggesting it is even crazy. I do know really very little about this program even to make a suggestion , probably. But please, anyway, those of you who haven't and know Blender, have a look at the avi...most probably you will confirm that my idea is crazy or non compatible with Blender, as surely is :)

To put an example...In Character Studio, I made those game anims...without using all the very advanced stuff of cs and Max animation, at that job. Having the basic "traditional" essential tools, I posed it every keyframe, but being able to glue the joints all was possible. At last I used to do a clean keyframes, and some other filters to reduce the "noise". But the essential tools would have suffice. Actually I had to learn the very basics of animation at crunch time, with lots of pressure. Having inmediate ways of doing things, and quick workflows..is very important.

But those are the 2 cents of someone that knows practically nothing of Blender's huge universe, don't pay much attention to it :)


Return to “Animation”

Who is online

Users browsing this forum: No registered users and 2 guests