Animation - Daz Studio - Extrapolation Algorithm For Frames Between Key Frames

Lord_AshesLord_Ashes Posts: 91
edited December 1969 in Art Studio

Does Daz have only one type of frame extrapolation between key frames or are there different algorithms to choose from?

I have previously uses Anim8or which is a tiny (under 4 MB with documentation) program for 3D modeling creation and animation. It may not have all the bells and whistles of major animation programs but it most of the functionality that would be needed by a animation beginner.

In Anim8or, there were three types of frame extrapolations between key frames. I don't recall the names right now but they were:

1) Immediate - The parameter value jumps from the value at key frame 1 to the value at key frame 2 one frame before key frame 2.
This has the same effect as if a key frame was place one frame before key frame 2 with the value of key frame 1
meaning the value goes from the starting value to the ending value within 1 frame.

2) Linear - The parameter value is a linear extrapolation between key frame 1 and key frame 2. This can cause rough corners but
has the advantage of basically eliminating parameter drift.

3) Smooth - The parameter value is a spline extrapolation between key frame 1 and key frame 2 based on key frames before that
and after that. Basically the key frames are connected with a spline and the value is determined from that.
The advantage of this is that transitions are more smoother but this can cause parameter value drift.

For example, consider a 6 key frame animation for the X rotation parameter.

For this example, at T=0 the X Rotation is 0, at T=10 the X Rotation is 45, at T =30 the X Rotation is 90, at T=90 the X Rotation is still 90, at T=110 the X Rotation is 45 and at T=120 the X Rotation is 0.

If the first extrapolation method is used then the X Rotation would stay at 0 until T=9 and then jump to 45 at T=10. Similarly at T=29 it would still be 45 but at T-30 it would be 90. And so on. This causes very abrupt jumps and is not typically used in animations unless the scene is changing drastically or the object is teleporting.

If the second extrapolation method is used then at T=0 the rotation would be 0 and then it would linearly increase until it reached 45 degrees at T=10. Then the rate increase would change so that it reached 90 degrees by T=10. The rate would then change to reach 180 degrees by T=60. And so on. This produces a more smoother transition between the key frames but can cause an abrupt change at key frames. For example, the rate at which the rotation was changing would change as each key frame was passed because the key frames do not have the same degrees/frames ratio. However this method ensures that if a segment of frames starts and ends with the same property value the property will remain constant in between. For example, between T=30 and T=90 the value would be 90 at all in between frames.

The last extrapolation method would try to generate a smooth spline between the key frames an determine the value based on that. This means, for example, that between T=30 and T=90 then value would not remain constant because the spline would try to minimize the sharp rate of change at T=30 and T=90 and thereby create more of an arc between T=30 and T=90. Thus the value would be 90 at T=30 but it might be 100 at T=60. This creates the smoothest changes but can also cause undesired drift when for parameters like position.

Is it possible to choose between these types of extrapolations (and possible others) in Daz Studio or is Daz Studio hard coded with only one extrapolation type?

Comments

  • barbultbarbult Posts: 24,249
    edited December 1969

    I don't think the DAZ Studio timeline alone has that feature.

    GoFigure keymate and graphmate products can set interpolation method. Unfortunately, those products don't come with any documentation that tells you how to use the interpolation. You will have to search the forum or look for online videos. It really irks me when products don't come with any useful documentation. What are DAZ and these vendors thinking?????

    GoFigure store is on sale today as part of the extravaganza sale. http://www.daz3d.com/gofigure

  • Lord_AshesLord_Ashes Posts: 91
    edited December 1969

    Thanks...I am trying not to use any additional products (or at least any non-free additional products) because this is just a interest hobby for me so I'd like to keep it completely free...but thanks for your information anyway.

    And, BTW, I totally agree with you about the Daz documentation. I like the fact that a lot of the common stuff is in nice video tutorials but this typically just breaks the surface but does not go into the greater details...so as soon as you want to do anything slightly different from the norm, you get stuck.

  • SempieSempie Posts: 658
    edited June 2013

    The problem lies within the limited DAZ graph editor.

    I did some professional character animation with MAYA, that has a rather good
    graph editor, with motion splines that you can edit at your heart's desire.

    You need clamped tangents or stepped keys to fix feet on the ground,
    a way of ensuring that the software has a linear spline between to
    unmoving keys.

    If your spline is curved, there is going to be movement between the
    keys, even if the keys themselves do not change position at all.

    Please check out the clamped tangents part of this MAYA tutorial
    around the middle of the page to get a graphical impression
    of what I mean.

    Link;

    http://www.cs.washington.edu/education/courses/cse490dc/01wi/HelpEtc/functionCurves/functionCurves.html

    The bottom line is, that as long as there is even a slightly curved
    spline between your keys, your feet are going to drift.

    As far as I know Poser and DAZ Studio have no real answer to this,
    despite requests for implementing features like this,

    Hope this helps clarifying the problem.

    What you see on the tutorial I'm linking to is everything that studio lacks but
    needs to turn into a serious animation tool.

    Post edited by Sempie on
  • Lord_AshesLord_Ashes Posts: 91
    edited December 1969

    Thanks for the confirmation that Daz does not have different extrapolation options.

    I am really surprised at this...if someone can put such features it into a free 2MB animation program (i.e. Anim8or), I would have expected a more professional software such as Daz to have something similar.

    From what I gather, if I am getting drift then I need to break up the animation into smaller parts so that the previous and future parts don't influence the "spline" of the drifting property...doable but a great pain in the butt if you have many such drifting segments.

  • creativemodelsbecreativemodelsbe Posts: 0
    edited December 1969

    Thanks for the confirmation that Daz does not have different extrapolation options.

    I am really surprised at this...if someone can put such features it into a free 2MB animation program (i.e. Anim8or), I would have expected a more professional software such as Daz to have something similar.

    From what I gather, if I am getting drift then I need to break up the animation into smaller parts so that the previous and future parts don't influence the "spline" of the drifting property...doable but a great pain in the butt if you have many such drifting segments.

    have you tried graphmate for studio?
    http://www.daz3d.com/graphmate

  • Lord_AshesLord_Ashes Posts: 91
    edited December 1969

    Thanks for the suggestion but my interest in Daz Studio is just for playing around and thus I am trying to keep it to a completely free budget.

    I also found out that previous version of Daz has different extrapolation methods...they were "selected" by a property in Daz. I am not sure if the property was exposed in the previous versions of Daz or if it was a hidden property but I found scripts that change this property to select different extrapolation methods...I have not yet confirmed if the scripts work in the latest version of Daz. I know the dialog for the scripts works but I am not sure if the property that they change still works.

    In any case, I do thank you for your suggestion.

Sign In or Register to comment.