Timeline Keyframe Bug

Constance1Constance1 Posts: 13
edited December 1969 in The Commons

Is there a way around or a script to counteract the following bug:
1. Create\New Primitive\ Cone.
2. Click on the cone.
3. Click on Pose\Animate.
4. Everything is defaulted to 0; click on frame 0, then Create a Keyframe.
5. Click on frame 5.
6. Click Create a Keyframe. Note that YTranslate is 0 for frames 0 to 5 as it should be. (This is what is intended).
7. Click on frame 10.
8. Set YTranslate to 100.
9. Note that frame 4 has YTRanslate of -6.40, not 0. Frame 3 has YTranslate of -7.20, not 0. Frame 2 has YTRanslate of -4.8. Frame 1 has YTranslate of -0.8. All of this is wrong. (It is as if the setting for frame 10 "spills past" frame 5 all the way back to 0, even though you don't want it to do so).
10. If you delete the keyframe at 10, the YTranslate for frames 1-4 returns to 0.

The only way I have found to make frames 1-4 have a YTranslate of 0 after setting it to 100 at frame 10 is to literally click "Create a Keyframe" at frame 4 BEFORE setting frame 10 to 100.

This bug is quite widespread, not limited to cones and YTranslate. (I just put a very simple example here to demonstrate). You can get it with motions of body parts (e.g. rotate a neck), and can see it "spill over" in that changes to e.g. YTranslate can affect settings of e.g XTranslate as well.

Comments

  • TimingisEverythingTimingisEverything Posts: 112
    edited December 1969

    have you tried KeyMate?

  • Richard HaseltineRichard Haseltine Posts: 99,446
    edited December 1969

    This is not a bug, it's a limitation of the default timeline that you can't change the interpolation type from Smooth to another mode that won't affect the movement on the other side of the frame. Keymate will indeed help with this by letting you edit interpolation types.

  • RuphussRuphuss Posts: 2,631
    edited December 1969

    graphmate is more easy to use I think
    but even here you have no preset ability for the lines
    its a pity that theres no support from gofigure on this forum

  • Constance1Constance1 Posts: 13
    edited December 1969

    Thanks for the input. I have not tried Keymate.
    It still looks like a bug to me. If you have set the keyframe at frames 0-5 to have a Y Translate of 0, I think it should stay at 0.
    If you have something sitting on the floor frames 0-5, then want it to rise, why would you want it to inadvertently sink into the floor before frame 5?

  • lorde5656lorde5656 Posts: 35
    edited December 1969

    fdsajkl said:
    Thanks for the input. I have not tried Keymate.
    It still looks like a bug to me. If you have set the keyframe at frames 0-5 to have a Y Translate of 0, I think it should stay at 0.
    If you have something sitting on the floor frames 0-5, then want it to rise, why would you want it to inadvertently sink into the floor before frame 5?

    It's been mentioned but I'll try and make it more clear. That has to do with the interpolation type of the keyframes. It's creating slow down frames automatically for things like walk animations for organic figures. This of course does look weird when you try and move primitives around the way you are describing. But that can be fixed by changing the interpolation type for those frames to linear and you would need keymate or graphmate for that.

    So it's not a bug but a limitation of daz right out of the box.

  • MistaraMistara Posts: 38,675
    edited December 1969

    that limitation made me give up my ds animation dreams.

  • wolf359wolf359 Posts: 3,821
    edited December 2014

    Hi What you are experiencing is a long existing issue with "older" spline graph animation editors.
    It is often referred to as "overshoot"

    The manual solution that I have used for years in poser
    is to place "holder" keyframes on the graph before/between,or after my
    "working" keyframes to keep the spline from "stretching" where it is not supposed to or insert the poser "Spline break" feature where needed

    A tedious Grok to be sure.

    But it would seem your only other option in DS is the "Graph Mate??"
    add on which appears to have a "Clamping" or similar feature
    like we have in Cinema4D and other high end programs

    A clamping filter rigidly enforces every keyframe value along the spline
    and does not permit any "Stretching" or "over shoot".

    Post edited by wolf359 on
  • Testing6790Testing6790 Posts: 1,091
    edited December 1969

    I have graphmate, and I must just be bad with it because I find it much harder than keyframes for making accurate animations. I do what wolf359 say.

    Basically whenever you make a keyframe, actually make 3 at the exact same pose in a row. These "bookend" frames prevent the undesired splining. Once you're happy you can delete the other 2 frames, leaving the center one!

  • RuphussRuphuss Posts: 2,631
    edited December 2014

    now look here please

    line1 (right) is default

    line2 has the line changed to linear in graphmate

    line1.jpg
    803 x 999 - 96K
    line2.jpg
    713 x 1009 - 90K
    Post edited by Ruphuss on
  • RuphussRuphuss Posts: 2,631
    edited December 1969

    that limitation made me give up my ds animation dreams.

    do not give up

    theres a lot of help here

    https://sites.google.com/site/mcasualsdazscripts2/home

  • Constance1Constance1 Posts: 13
    edited December 1969

    Thanks for all the information. I see that the current workaround is to place keyframes on either side of the desired one.
    Please note that this behavior doesn't just apply to primitives, or to YTranslate. For example, if you place a figure in the scene in place of a primitive and set YTranslate to 0 at 0, 0 at 5, 100 at frame 10, it still changes YTranslate for frames 1-4. Same is true if you e.g. change the Neck Twist value. This just seems intrinsic to the program.
    So: as a new feature request: I can see how this current behavior might be considered desirable by some users at some times, but I would think at least some users under some circumstances would prefer to not have this behavior, i.e. if you set YTranslate to 0 at frames 0 and 5, it stays at 0 for frames 1-4 regardless of what you do to frame 10. Could you possibly add a "switch" or "option" to the program that would tell it which way you want it to behave, ie. disable this elegant algorithm that someone has created, so that just before launching that function/subroutine/algorithm, the program checks on the status of this "switch" and if it is "disabled" then don't run the algorithm and leave the values unchanged prior to the previous keyframe?

  • RuphussRuphuss Posts: 2,631
    edited December 1969

    as I showed you you can easily do this with "Graphmate" by Gofigure

  • Constance1Constance1 Posts: 13
    edited December 1969

    I looked at YouTube videos of Graphmate and Keymate. I can't tell for certain from these videos so I just want to be clear on this from someone who actually uses these products: Do they make it so that,
    a) unlike DAZ Studio, when you store a 3rd keyframe on the timeline (e.g. at frame 10), it has NO effect on the values between the first and second keyframes (e.g at frames 0 and 5) (as in my example above, YTranslate would stay set to 0 for frames 0-5 when it is set to a value of 100 at frame 10, rather than taking negative values):; or
    b) like DAZ Studio, the values for frames 1-4 still are altered by setting the 3rd keyframe at frame 10; they just make it easier to then "clean it up" and get them set back to 0?

  • Richard HaseltineRichard Haseltine Posts: 99,446
    edited December 1969

    The plug-ins are for modifying the DS time line so it's the second option, you can change the interpolation type so that it's linear in (meaning there's no effect from the following movements). Of course this does mean the movement will start abruptly, so you may need other adjustments to get the desired result.

  • Lord_AshesLord_Ashes Posts: 91
    edited December 1969

    This is not a bug, it's a limitation of the default timeline that you can't change the interpolation type from Smooth to another mode that won't affect the movement on the other side of the frame.

    That is crazy. Previous to DAZ Studio, I was using Anim8or which is a Free software whose size is less than 5MB (that is correct 5MB...not 50MB, 500MB or 5GB). The software not only has 3D Modelling capabilities (similar to Hexagon) but it also has full boning, animation sequence creation and scene building and rendering. I still use it for my 3D Model creation but I moved to rendering scenes in DAZ Studio because of the Genesis figures, animate blocks, Genesis morphing and conforming clothing.

    The point is that this free Anim8or software has 3 different extrapolation types: Step, Corner and Smooth.

    Step: Values changes from Key1 to Key2 at Key2 (thus frame before Key2 still has value from Key1).
    Corner: Values is a linear progression from value at Key1 to value at Key2.
    Smooth: Values progresses from values at Key1 to Key2 using a curved progression based on keys before Key1 and after Key2.

    It is a real shame that someone can code this into a free piece of software that is less than 5MB but no one coded it into DAZ Studio.

    This limitation, as it was referred to, does create a number of rendering oddities because in most cases, as was pointed out, people expect the behavior of a linear extrapolation (i.e. Corner) as opposed to the extrapolation used in DAZ Studio (i.e. Smooth).

  • evilproducerevilproducer Posts: 9,050
    edited December 1969

    that limitation made me give up my ds animation dreams.

    Hi Misty, It's a good thing you have added Carrara to your tool set. No need for a plugin to edit tweener types, and you have a graph editor built in.

  • Richard HaseltineRichard Haseltine Posts: 99,446
    edited December 1969

    The interpolation types are there, they just aren't accessible in the default timeline. As I said, Ithink there's a free script you can use or there's the KeyMate/GraphMate option.

  • Lord_AshesLord_Ashes Posts: 91
    edited December 1969

    The interpolation types are there, they just aren't accessible in the default timeline. As I said, Ithink there's a free script you can use or there's the KeyMate/GraphMate option.

    Keymate seems like a good solution but it no longer makes the solution 100% Free. Yes, I realize that keyMate is now selling for only $5.99 but that is not the point.

    The ability to select the extrapolation, in my opinion, is a key function and should be part of DAZ Studio's core...without needing to add on any package or use scripts.

    Just my 2 cents :D

Sign In or Register to comment.