IK target helpers in NLA

I thought this was simple, but it is not. I have imported an aniblock to Victoria in Carrara. There was a small amount of unwanted foot movement. It does not show in DS. So Carrara does something wrong. I have corrected that in two ways.

1) Corrected it manually by correcting the hip translation. Result is very good. So tried to put in in NLA. But when I add the NLA to the same Victoria in a new scene, all edits from me are gone. The foot moves again. And it gets weirder. The values of the hip from the editted version (which is fine) and the one from the NLA (which is wrong) are the same.

2) Corrected it with IK helpers. Result is also very good. But how do I get IK helpers info into an NLA clip.

I hope this clear, because it could be sounding confused.

 

Comments

  • MistaraMistara Posts: 38,675

    that was the thing with the ik helper blocks under the feet,

    do you have to recreate them on the figure to use the nla clip?

  • DartanbeckDartanbeck Posts: 21,522

    One thing that Jonny Bravo points out in his aniBlock Importer tutorial that I've never forgotten:

    aniBlocks are best used with Linear Tweeners - so before importing them, go into preferences and set default to Linear

    Caveat to his tutorial, however: He copies and pastes his NLA clips along the timeline. I've discovered that, by doing that, we're making extra memory weights - actually adding new clips to the clips tray. Instead, just drag in a new clip from the clips tray

    Jonny Bravo's aniBlock Importer for Carrara video tutorial (Official GoFigure)

    I miss Jonny Bravo. I hope he's doing well. 

  • DartanbeckDartanbeck Posts: 21,522
    Pjotter said:

    I thought this was simple, but it is not. I have imported an aniblock to Victoria in Carrara. There was a small amount of unwanted foot movement. It does not show in DS. So Carrara does something wrong. I have corrected that in two ways.

    1) Corrected it manually by correcting the hip translation. Result is very good. So tried to put in in NLA. But when I add the NLA to the same Victoria in a new scene, all edits from me are gone. The foot moves again. And it gets weirder. The values of the hip from the editted version (which is fine) and the one from the NLA (which is wrong) are the same.

    2) Corrected it with IK helpers. Result is also very good. But how do I get IK helpers info into an NLA clip.

    I hope this clear, because it could be sounding confused.

     

    Sounds clear to me. Hmmm... So the IK helper isn't actually changing the keyframes of the individual joints which are affected by it... that seems strange to me.

    Are you adding the IK Helper to a Vicky who is using an NLA clip, or imported aniBlock keyframes? 

    If you're using the Helper against a Clip, try going to Vicky's NLA tab and use "Load Data from Clip" to convert the clip to keyframes (without the clip being in the timeline - just in the Clips tray)

    If that's not working, I'd submit a Bug ticket. I'm sure we could still find a work-around for you, but IK should affect keyframes. 

    Another possibility is that aniBlock keyframes do not line up perfectly on my 30fps timeline. So IK keyframes wouldn't change those many keyframes that are not on an actual frame, but would make a new one instead. I tried to correct this once by turning on 'snap to grid' in the sequencer, selecting all keyframes and nudging them along time - it didn't work. The only way ws to do each key individually or all keys in the same time slot individually - something I was not willing to do.

    I've never tried fixing aniBlock data with IK - I always prefer the Graph Editor, which is fast and effective. We may either edit a few keyframes of a joint or all of them. 

    I select the joint in question with the rotation tool active, so I can clearly see which axis I want to manipulate. Change the Sequencer into a Graph editor, find the joint along the Hierarchy and open the tiny triangle next to it. Go to Motion Method > Translate > Rotation, and then I select the axis that I've confirmed, use the editor's zoom tool and zoom out to see all keys, (switch back to selection tool) select them all for that axis, zoom back in, and carefully move them up or down to correct the rotation.

    I usually do this for arms that tend to poke into the body for certain motions - like Martial Arts with Rosie. The thing  I like about this sort of editing is that I can do so anywhere along the timeline - like right where the problem occurs.

    Sometimes we might not want to edit all of the keyframes - but just in a certain amount of time.

    To do this, I select all of the keys in that span of time, and then (using the Shift key) deselect one key every 5 or so frames, then delete the rest. By deselecting those few in between, I'm still keeping the gist of the animation information. But now I have far fewer keys to work with, making life much easier. here is where I'll snap those remaining keys to the timeline before I start editing. For this method, I never even switch to the graph editor - just stay right in the Sequencer.

  • PjotterPjotter Posts: 274

    I've never tried fixing aniBlock data with IK - I always prefer the Graph Editor, which is fast and effective. We may either edit a few keyframes of a joint or all of them. 

     

    Well, that is the problem. I have done both. First the graph editor. I corrected the small amount of foot sliding in the graph editor. Result were good. No foot sliding. I inserted these perfect keyframes into NLA. Opened a new scene with the same Character and used the NLA clip. To my surprise, the foot sliding was back. The values in the Graph editor of the orginal and the one in the NLA are the same, but the NLA version has foot sliding. So something else is wrong.

    Second I tried target helpers, but I cannot get the target helpers into the NLA clip.

  • 3DAGE3DAGE Posts: 3,311

    the problem is that you're doing both for some reason,.

    IK helpers,. are helpers,. they help you to move the figure's bones (instead) of manually bending moving each joint.

    BUT ,.. they both achieve the same goal,. of creating keyframes for the bones,.

    Whether you move the bones manually or use an IK helper,. you create keyframes, and that's what makes the bones animate.

    IK helpers wouldn't normally be saved in the NLA clip,. because they're not part of the figure,. so they're not included in the data for that figure.

    You could group the figure and it's helpers,. Save the NLA (with the target helpers),.. then use that ,. it should work, ...but you shouldn't need to do that , if you're using the graph editor to fix the keyframes.

     

    I just want to run through the process of NLA with you to check what your'e doing .

    1./ Create the animation by moving the figure at different point in the timeline to create keyframes,... or by importing premade poses or animation

    2./ Once you're happy,. Go to the NLA tab and "Create Master Clip" to make your keyframe animation,.. into an NLA clip.

     

    If you need to edit an NLA clip,. I've found that the best and most reliable method is to Load the Clip data into the sequencer timeline as Keyframes ,. make the edits to that animation,. then save that as a  New Master Clip ,. rather than editing the clip, directly in the NLA track, and savign /overwriting the original.

     

    You should also try importing the Aniblock from DS (baked to DS timeline) saved as a DUF,. just to see if there's any difference in the imported animation.

     

    hope it helps :)

  • PjotterPjotter Posts: 274
    3DAGE said:

    1- the problem is that you're doing both for some reason,.

    2- IK helpers wouldn't normally be saved in the NLA clip,. because they're not part of the figure,. so they're not included in the data for that figure.

    3- You could group the figure and it's helpers,. Save the NLA (with the target helpers),.. then use that ,. it should work, ...but you shouldn't need to do that , if you're using the graph editor to fix the keyframes.

    4- If you need to edit an NLA clip,. I've found that the best and most reliable method is to Load the Clip data into the sequencer timeline as Keyframes ,. make the edits to that animation,. then save that as a  New Master Clip ,. rather than editing the clip, directly in the NLA track, and savign /overwriting the original.

    5- You should also try importing the Aniblock from DS (baked to DS timeline) saved as a DUF,. just to see if there's any difference in the imported animation.

    hope it helps :)

    Some good points.

    1- The reason for doing both, because none of them seem to work. If approach 1 doesn't work, I try approach 2. Both failed.

    2- That is my problem.

    3- That is the solution. Thanks. Never thought of this.

    4- Sounds good, but you have to do that in a new scene, because Load Clip Data overwrites all existing keyframes outside the NLA. And all is written at keyframe zereo and not where the clip is loaded. And in a new scene, you cannot compare it to the scene. Jumping over a fence, means you have to see the fence.

    5- Never done that. Going to give that a try one of these days. Thanks.

  • DartanbeckDartanbeck Posts: 21,522

    Something I thought I'd just put in here... I was always under the impression that we should end our IK from a foot at the Hip. But according to the manual, we should end it before the hip - in this case, the thigh. I can't remember why - I think it has to do with issues having both feet terminating on the same bone.

    Using this method of posing on my Laptop was not fun... too sluggish and slow. Carrara Beast is much better with this stuff.

    But again... I'm not used to using IK. When I make my animations by hand, it feels to me more like a painting that I do with a brush. I just go back and forth in time to prevent foot slides and other unwanted anomalies. It's incredibly fun for me. So to that end, I find that painting poses artistically is much easier accomplished by rotating joints rather than using constraints vs IK

  • MistaraMistara Posts: 38,675
    3DAGE said:

    the problem is that you're doing both for some reason,.

    IK helpers,. are helpers,. they help you to move the figure's bones (instead) of manually bending moving each joint.

    BUT ,.. they both achieve the same goal,. of creating keyframes for the bones,.

    Whether you move the bones manually or use an IK helper,. you create keyframes, and that's what makes the bones animate.

    IK helpers wouldn't normally be saved in the NLA clip,. because they're not part of the figure,. so they're not included in the data for that figure.

    You could group the figure and it's helpers,. Save the NLA (with the target helpers),.. then use that ,. it should work, ...but you shouldn't need to do that , if you're using the graph editor to fix the keyframes.

     

    I just want to run through the process of NLA with you to check what your'e doing .

    1./ Create the animation by moving the figure at different point in the timeline to create keyframes,... or by importing premade poses or animation

    2./ Once you're happy,. Go to the NLA tab and "Create Master Clip" to make your keyframe animation,.. into an NLA clip.

     

    If you need to edit an NLA clip,. I've found that the best and most reliable method is to Load the Clip data into the sequencer timeline as Keyframes ,. make the edits to that animation,. then save that as a  New Master Clip ,. rather than editing the clip, directly in the NLA track, and savign /overwriting the original.

     

    You should also try importing the Aniblock from DS (baked to DS timeline) saved as a DUF,. just to see if there's any difference in the imported animation.

     

    hope it helps :)

     

    how yoo save the clip data?
    for makin New Master Clip.edits
    not seeing how to drop it on clip tab

     

    thanks smiley

  • DartanbeckDartanbeck Posts: 21,522

    First, make a folder in your Clips tab (see article below for more information on how to do this)

    Your Carrara Browser
    Making great stuff isn't as cool if you can't remember where you put it. Let's get some good habits going right from the start

    Select a category in your clips tab and then just drag clip from the clips tray on the right into the browser

  • MistaraMistara Posts: 38,675

    the clips tab by instances?

    nothing there

    do i need to hold a secret key to drag a tracks selection?

    thanks!

  • DartanbeckDartanbeck Posts: 21,522

    Oh... you need to create an NLA clip?

    • Select the main line of the figure in the instances tray
    • Go to the NLA tab
    • Click "Create Master Clip"
    • In dialog, select which bone to track if the animation gets looped (often Hip) Select which parts get included in the clip (all by default), etc., 
    • when done selecting/deselecting stuff in the dialog, click Okay

    you'll now have a shiny new clip in the Clip tray (by instances)

  • DartanbeckDartanbeck Posts: 21,522

    Oh... it often helps to give the clip a name too - either in the dialog during creation or afterwards in the tray or during saving it to the browser - the choice is up to us ;)

  • 3DAGE3DAGE Posts: 3,311

    4,.  You can add a new NLA Track for the figure,. then load the clip data into that track,. you can disable all the other tracks while you're editing those keyframes,. edit your data, save clip as a new master clip with a new name.

     

    As Dart suggests,. make a couple of new folders in your "My Clips" area, for your own clips,. (My documents /Daz3d /Carrara / My presets / My clips,..

    even break them down into clips for specific characters or actions.  then you'll slowly build a library of clips which can be reused in different scenes

    If you're making a looping animation, such as a Walk or Run cycle,. always make sure to select the loop reference point,. as you're saving the master clip.

  • ThomasScThomasSc Posts: 125

    Hi,

    Had the same problem too a while ago.

    I usually use Posermocap and not aniBlocks. Posermocap works better IMHO.

    Transforming IK motion in non-IK motion isn't easy in Carrara. I usually use IK and, for clips, I transform them into non-IK motion by pressing . (Next Frame) and Ctrl+k (Create Keyframe). I use "Hotkey" to automate this, so sending these keys automated to Carrara. You can then Strg+Click all the rotation channels of the joints (hip, shins, feet, etc.) and run a Hotkey script.

    If there is any other idea on how to convert IK motion into non-IK motion, please feel free to tell :)

    Best wishes,
    Thomas

  • MistaraMistara Posts: 38,675

    even tougher when not using any  imported mocaps or aniblocks

    epic struggle to save home brewed totally made from scratch, home made,
    no prefabbed imports, of sequenced keyframes or a single frame pose to a clips tab. 

  • DartanbeckDartanbeck Posts: 21,522

    Just Create NLA Clip or Create Master Pose

    When using Generation 4 or earlier - or that style of figure, like Predatron's, we can use Fenric Exporter to make PZ2 files which, like Thomas, I really kinda prefer. 

    Like Thomas said, Posermocap's animated PZ2s work really well as they are already optimized for M4 and V4 and then stored in the reliable Poser PZ2 at 30fps

    I had no idea that IK animation work didn't auto-create keyframes for each changed joint rotation. I guess there are several benefits to the way I prefer to animate.

  • MistaraMistara Posts: 38,675

    does carrara have the functionality to save a sequenced keyframe track?  that would explain the mystery.
     

  • DartanbeckDartanbeck Posts: 21,522

    Yes. The post above that last question is the second time I've posted it

  • DartanbeckDartanbeck Posts: 21,522
    MistyRara said:

    does carrara have the functionality to save a sequenced keyframe track?  that would explain the mystery.
     

    • Select the main line of the figure in the instances tray
    • Go to the NLA tab
    • Click "Create Master Clip"
    • In dialog, select which bone to track if the animation gets looped (often Hip) Select which parts get included in the clip (all by default), etc., 
    • when done selecting/deselecting stuff in the dialog, click Okay

    you'll now have a shiny new clip in the Clip tray (by instances)

     

  • MistaraMistara Posts: 38,675
    edited February 2017
    MistyRara said:

    does carrara have the functionality to save a sequenced keyframe track?  that would explain the mystery.
     

    • Select the main line of the figure in the instances tray
    • Go to the NLA tab
    • Click "Create Master Clip"
    • In dialog, select which bone to track if the animation gets looped (often Hip) Select which parts get included in the clip (all by default), etc., 
    • when done selecting/deselecting stuff in the dialog, click Okay

    you'll now have a shiny new clip in the Clip tray (by instances)

     

    but doesnt that create an nla clip?

     

    i need the clip to edit instead of editting the nla clip.

    Post edited by Mistara on
  • MistaraMistara Posts: 38,675

    seems like, only way is to save the whole file, as reference starting point.

  • 3DAGE3DAGE Posts: 3,311

    You can make the NLA clip,. as Dart outlined above,. just make some animation keyframes and Click,.. Create Master Clip,.

    Yes that makes an NLA "Clip" of your animation.  which you can save to your browser, (My Clips) and reuse in other scenes.

    if it's not right, or there's something you want to change,. the best method is to Import the keyframes (load clip data)  then edit the animation,. then resave as a new master clip with a different name.

    You can also double click on the NLA clip in a track, in the sequencer, to edit it,. 

    I've had some issues with that method ,. so i load the keys and edit,. if i need to

     

  • DartanbeckDartanbeck Posts: 21,522

    Maybe if I knew exactly what you were trying to do, I could help. 

    Here's the thing: NLA Clips are a collection of keyframes of an animation group. This is how we save keyframes from the timeline in Carrara, aside from just saving the file with the keyframes on it.

    Once in Clip form, we can either put the clip in the timeline of the appropriately matching animation group, or we can go into the NLA tab of that group and use: Load Data From Clip, which will load the keyframes stored in the clip onto the timeline again, exactly where they were when the clip was made. But to do this we must first have a clip and it must be in the Clips tray

  • DartanbeckDartanbeck Posts: 21,522

    On the other hand, if it's not a Genesis (or other triax?) figure, we can save animated (or still) keyframes in Poser format using Fenric's Exporter:

    BVH/PZ2 Exporter for Carrara - If this didn't exist, neither would my Swordworks for M4 or AnimationKit for Mil Dragon 2, since I made the animations in Carrara and used this tool to get them into PZ2 files, and then bringing those into DS to create the aniBlocks - which is a fine workflow. Very useful tool, it doesn't work for Triax rigging. But for recording any animations for any Poser-format models, this thing is incredibly powerful! 

    • Exports Static Poser format Pose File (PZ2)
    • Exports Animated Poser format Pose File (PZ2)
    • Exports Poser compatible BioVision Animation File (BVH)
    • Configurable Operation
      • Choose whether to include or exclude:
        • Overall Motion (global translation)
        • Joint Rotation
        • Morph Dial Settings
        • Joint Scaling (independent X, Y, and Z parameters)
      • Configure start and end frame range for animated poses
  • DartanbeckDartanbeck Posts: 21,522

    I really like the Poser format because of how easy it is to store into our libraries, and load by a simple click

    But I also like the NLA tabs. I'll often use the Poser format to load, and the NLA format to store for my characters in my browser.

    That sounds dizzying. Here:

    I'll make a custom motion - a nice, complete motion. I want to be able to add that to M4 as well as V4 or Lorenzo LoRez and other figures, like Demonecornuto too. So I use Fenric's exporter to create an animated PZ2 file in my Poser runtime in Poses.

    Now I'll load up Demonecornuto and apply the animated PZ2 - but wait... since I made this using V4, the feet are pointing down and it looks a little oo feminine. So I make some tweaks to the keyframes specific for the Demonecornuto and this time create a NLA clip specifically for Demonecornuto and store it under Demonecornuto under my Clips tab. 

    So now I load in some other character, and, after thinking about it, I decide that the one I saved for Demonecornuto would be a better start for this one than the V4 version. So I go to my Clips tab under Demonecornuto (a folder I made in my Clips browser) and drag the clip from the browser into the Clips tray. I try the clip directly on the figure and it's okay, but I'd rather tweak it to fit this character specifically. So I remove the clip from the timeline but leave it in the clips tray and, with my figure selected, go to the NLA tab and "Load Data from Clip" and select the clip I want and hit Okay. Now the keyframes stored in that clip are on the timeline ready for editing, or whatever I wanted to do with them.

  • MistaraMistara Posts: 38,675

    Thanks smiley

    so, Load Clip Data converts the NLA back into it's original sequenced keyframe!

    yes

    hoping it remembers the tweeners.  was playing with the oscillate.

  • DartanbeckDartanbeck Posts: 21,522

    Yup. It remembers tweaners. It also remember where along the timeline the data was before it was stored.

    I normally treat my 1 second mark as my start time, as if it were frame 0. I do that so I never lose my default pose.

    So when I load an aniBlock, an animated PZ2, or create my own poses, I can easily reset any joint to my default value by deleting all keyframes from 1 second onward. Works great.

    So when I make my NLA clips, I have to set the end of time yellow marker at the very end of the animation and, during Clip creation, I choose "Use Scene Time" rather than "Use Keyframes", so the clip records only what's between the two yellow time markers.

    So if I ever load data from one of my clips, chances are high that the keyframes will come in on frame 30 (1 second mark, since I use 30fps)

  • DartanbeckDartanbeck Posts: 21,522

    I also love messing around with tweeners. Oscillate rocks in so many ways! Lately I've been using Noise a lot too! ;)

  • MistaraMistara Posts: 38,675

    haven't tried the noise yet  

    the oscillate is cute on wing flapping. 

  • DartanbeckDartanbeck Posts: 21,522

    Noise is awesome on old, dying light bulbs' glow channel as well as the light that casts light for it! ;)

    I also like it for making conforming hair morphs appear to blow with the wind a bit. Set the two extremes with a noise tweener between them. We can set it to be very similar to oscillate but with a good deal of randomness to it, but some of the seeds will produce less or more apparent randomness - so we can usually easily find one that's fairly uniform like an Oscillate, but not quite perfect... which is fun!

Sign In or Register to comment.