Page 2 of 3 FirstFirst 123 LastLast
Results 21 to 40 of 47

Thread: New F-Curve Smoothing mode in review for 2.8 (with 2.79 RC test build)

  1. #21
    Member Hadriscus's Avatar
    Join Date
    Apr 2012
    Location
    Massilia, France
    Posts
    1,304
    Originally Posted by angavrilov View Post
    You need an extra keyframe when for some reason you insist on getting a clamped motion without using Auto Clamped keyframes (which are the default type, mind you).

    P.S. Avoiding the need for more keyframes or changing handle types to match the situation is not the goal. The goal is to remove the need to use completely manually set Aligned or Free handles in order to simply get smooth curves. Currently that is required.
    Ok, I thought this was going to replace auto clamp instead, sorry for the misunderstanding.



  2. #22
    Uploaded a new Windows build where the new smoothing mode is a per-curve option, called Smoothed Auto Handles and located below the curve color setting box. It is off for all previously existing curves, but enabled by default for any newly created ones.

    Currently it has to be manually changed for every single curve, but I'll make a python addon or script to change it in bulk later.



  3. #23
    Member Indy_logic's Avatar
    Join Date
    Nov 2008
    Location
    Portland, Oregon
    Posts
    996
    Originally Posted by angavrilov View Post
    I'd rather have it as a per-curve flag - could be a check box next to the curve color setting. The new smoother actually runs after the old mode code, and switching it on or off completely is very easy.

    Yeah, I think this makes the most sense. That way, you have an "Old" method for those who don't understand the benefit and a "New" method for those who want to save a lot of time and effort. ;-)

    I vote for calling it "Bezier+" ;-)



  4. #24
    Member Indy_logic's Avatar
    Join Date
    Nov 2008
    Location
    Portland, Oregon
    Posts
    996
    Originally Posted by Hadriscus View Post
    If you need an extra keyframe it seems like the whole point is defeated... I was beginning to be sold on the idea but the latest pictures posted here are kind of frightening.

    Just to reiterate, don't turn on "Automatic" mode. I think that's confusing everyone. The smoothing is best when used with the default bezier interpolation mode. So currently, when you download this build, you don't actually need to turn anything on. It's just working on the animation curves automatically.

    Pro tip: In general you shouldn't use "Automatic" mode anyway. It almost always produces bad "Floaty" looking animation.



  5. #25
    Hi, angavrilov, thank you so much for this.

    I've been using Blender for character animation for a few good years now and this is a godsend. I've animated around 40 characters (both humanoid/biped and non-humanoid) in the last couple of years alone, and there isn't a single action I didn't have to manually tweak the curves for.
    Since downloading your build from late may, I've animated 4 characters with a full set of animations, looping and non-looping. There are plenty of instances in which I didn't have to touch a single curve for the entire rig along the entire action. Your solution really is that good. I've been using your build in production for two months now, and haven't had any problems.

    Regarding the discussions above, I personally think the new implementations for both "Auto Clamped" and "Automatic" are useful and there are cases where you'll need the automatic type. I use it quite frequently.
    Yes, automatic mode produces "floaty" animations, but sometimes that's exactly what's needed. That overshoot is important in creating wide, fast, fluid animations. It's the best way to animate inertia. The auto clamped, as it's name suggests, cuts motions short, and some animations end up looking stiff as a result. Yes, you can add extra keyframes to simulate that overshoot, but why would you, when you already have something that does that automatically for you?

    Examples usually help make a point, so I'll give some.
    First of all, the "auto clamped" mode is good for animating feet in walk cycles and limbs grabbing on to things, where you need the bone to stay in the same place you put it in the previous keyframe. In such cases, using the automatic mode would, indeed, produce an unwanted floaty look.
    Now let's say you have a character swinging a long heavy weapon, or a fish swimming (or a bird flying) fast and then suddenly changing direction, or a boat jumping from a higher level of a river to a lower one, like a small waterfall in the course of a rapid mountain river. In these cases, the automatic mode is very useful for achieving believable, natural looking motion.
    While using your build, I animated a character swinging a heavy axe in a large arc. Usually, when I did this kind of animation, using the "vanilla" blender builds, after plotting the main motion of the weapon, I would start the process of "rounding" the motion of the weapon, by adding extra keyframes and, inevitably, tweaking the curves. So I set the keys to automatic and activated the motion trail and got ready to do that. I was amazed to see that the weapon followed a perfect, smooth curve. It required almost no tweaking whatsoever. In fact, what little corrections needed to be made were to the already existing keyframes, to widen the motion. That's it!
    I don't think I'm exaggerating when I say that this little change to Blender helped me cut the time taken to animate a character by about 25%-30%. And it's pretty great just the way it is.

    So, in my opinion, this can't get in trunk soon enough. And please, consider keeping both the new interpolation solutions (auto clamped and automatic). I don't think anyone will miss the old modes if they get replaced completely, to be honest. But I might be wrong. Maybe someone else might bring some input regarding this.

    So, once again, thank you very much for your work!



  6. #26
    Member Indy_logic's Avatar
    Join Date
    Nov 2008
    Location
    Portland, Oregon
    Posts
    996
    I totally agree. I've been using the addon version of this smoothing on everything I have that's animated in my scenes. For an animator (I know, a small user base) it's a game changer. I had to animate in 3DSMax just yesterday and was suddenly reminded how bad the standard default interpolation is. As I already pointed out, this is standard in ALL 3D apps. It would be great if that could change. :-)



  7. #27
    It's probably time to make a new build once there's a 2.79 RC. I haven't really been doing anything new with this branch for the last two months because of 'real world' stuff.



  8. #28
    Made new builds based on 2.79 RC. Didn't test thoroughly, but at cursory glance it seems to work OK.

    The build also includes some experimental smoothing for color curves (i.e. in nodes), but I don't really like how it works so it's off by default (enable option is in the wrench button menu), and not recommended for use in any kind of production.



  9. #29



  10. #30
    So are there any clear, visual examples of what this thing actually does?
    I never experienced any problems with Blender's curves in the past, and even after reading the official description of this branch and testing the latest build, I still fail to see what the differences are compared to Blender 2.77 which I am currently still using.
    I see people are calling this game changer. I wonder what it is I'm missing...



  11. #31
    Ticking Smoothed Auto Handles only enables/disables smoothing for one curve even with several curves selected. I think this should force the option for all selected curves instead.



  12. #32
    Member Indy_logic's Avatar
    Join Date
    Nov 2008
    Location
    Portland, Oregon
    Posts
    996
    Originally Posted by wiimote View Post
    So are there any clear, visual examples of what this thing actually does?
    I never experienced any problems with Blender's curves in the past, and even after reading the official description of this branch and testing the latest build, I still fail to see what the differences are compared to Blender 2.77 which I am currently still using.
    I see people are calling this game changer. I wonder what it is I'm missing...
    You can see pretty clearly what it does in the images below. It basically does what animators have to do to smooth out curves in the "polish" stage. But instead it happens automatically. You can see in the Maya, Max, Modo, images that usually the computer picks interpolation that is not pleasant by default. Lots of lumps and bumps. This is just the way it is with Bezier curves. But this changes that by trying to intelligently interpolate and make the curves look like what you would normally have to sit and touch every handle to do. Automagically!

    Most animators are taught that the computer almost always picks the wrong way to smooth your animation. It's just normal to assume that you will have to "battle" the software to make your animation look like you actually want it to. This eliminates a LOT of the struggle between animator and computer.

    I work in animation professionally and I can tell you from experience, this is pretty amazing. I just completed a job recently where I used this extensively on all parts of the animation (Two characters and a constantly moving camera). It was pretty weird to see how it would look by default and then the smoothed version after. The smoothed version always looked so much better. It just produces curves that "Feel" better than the normal default interpolation.

    Blender_Curves.JPG

    curves.jpg

    P.S. I made the Blender image above for a previous thread using the addon version of the smoothing but the results are the same for the smooth F-curves branch.
    Last edited by Indy_logic; 10-Aug-17 at 20:38.



  13. #33
    Member Indy_logic's Avatar
    Join Date
    Nov 2008
    Location
    Portland, Oregon
    Posts
    996
    Originally Posted by Cyaoeu View Post
    Ticking Smoothed Auto Handles only enables/disables smoothing for one curve even with several curves selected. I think this should force the option for all selected curves instead.
    As far as I know, just testing the newest build, you shouldn't have to enable anything. It should just work by default.



  14. #34
    Somebody made an animated demonstration of simple circular motion with and without smoothing:

    https://twitter.com/cyaoeu/status/895657587143618560



  15. #35
    Originally Posted by Indy_logic View Post
    As far as I know, just testing the newest build, you shouldn't have to enable anything. It should just work by default.
    Yeah I know, but to disable smoothing entirely you need to disable the checkbox for every curve instead of just selecting all of them and disabling them all at once.

    Originally Posted by angavrilov View Post
    Somebody made an animated demonstration of simple circular motion with and without smoothing:

    https://twitter.com/cyaoeu/status/895657587143618560
    Yeah, it was me. This was a pretty simplistic example, maybe a whole character animation compared side by side would be a better example. Still, it's easy to see that the results of your branch are just better.



  16. #36
    I wonder, has anybody here ever used the Cycles modifier of F-Curve (i.e. cyclic extrapolation) with non-default options?

    A modifier affecting the curve handles like it does in the branch is a big hack and abstraction violation, so we're discussing whether it would be better to handle this default case simply as another F-Curve extrapolation mode along Linear and Constant, like it was in blender 2.4*.



  17. #37
    Member Indy_logic's Avatar
    Join Date
    Nov 2008
    Location
    Portland, Oregon
    Posts
    996
    Originally Posted by angavrilov View Post
    I wonder, has anybody here ever used the Cycles modifier of F-Curve (i.e. cyclic extrapolation) with non-default options?

    A modifier affecting the curve handles like it does in the branch is a big hack and abstraction violation, so we're discussing whether it would be better to handle this default case simply as another F-Curve extrapolation mode along Linear and Constant, like it was in blender 2.4*.
    I use the Cycle often. I'm not sure I understand what are you asking though? Should you make it work like it has been or add the automatic continuity interpolation thing?

    I love what you have right now. I was super excited to see this addition. I would think this is the expected behavior. The fact that it normally doesn't is a nuisance and in my opinion, not at all wanted. I can't think of any reason why you would actually want a cycle to have a hitch in it because the bezier handles weren't aliened. Even if it's a hack.

    Maybe someone else has some insight that I'm not thinking of though.



  18. #38
    Originally Posted by Indy_logic View Post
    I use the Cycle often. I'm not sure I understand what are you asking though? Should you make it work like it has been or add the automatic continuity interpolation thing?
    The whole point of it being a modifier is that it has additional options like looping only for N iterations and then stopping, frame range, influence etc which can be changed in the F-Curve modifier panel.



  19. #39
    Originally Posted by angavrilov View Post
    The whole point of it being a modifier is that it has additional options like looping only for N iterations and then stopping, frame range, influence etc which can be changed in the F-Curve modifier panel.
    I'm making animations for games and I only export one iteration of the loop that way. The only time I would use the cyclic modifier is to get the smooth interpolation between the first and last frame using your branch. I would be happy for any other way of getting this behavior without needing a cyclic modifier.

    Edit: Also sometimes I make several loops in one animation with variations and in the game engine randomly play one of the loops to get some variation. It would be interesting if I could get the right interpolation for the start of the in-between loops too.



  20. #40
    Basically, in 2.4* f-curves simply had an extrapolation setting that could be constant, linear, or cycle. Then the cycle mode was changed into a modifier in order to add extra options to it; however this separation means that adding cycle aware handle smoothing requires hacks in the code. On the other hand restoring the simple infinite cycle setting allows nice code for smoothing, but results in either redundancy (both modifier with defaults and the 'new old' f-curve option do basically the same thing) or loss of additional options.

    So I wonder how many people actually use those advanced options as opposed to just the default modifier added by Shift-E => Make Cyclic.



Page 2 of 3 FirstFirst 123 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •