Strange C4D curve editor limitation - can't figure it out


#1

Hey guys,

I’ve found a particular quirk with C4D’s curve editor that I can’t seem to fix. I’m basically trying to do really punchy animation by pulling the tangents of two keys to make them really eased. But C4D is artificially limiting how far I can pull those tangents.

Easiest way to describe it is with images: https://imgur.com/a/n7UNLRv

Image 1: Perfectly normal curve editor behaviour with an expected result.
Image 2: I’ve pulled the tangents to the extremes yet the curve refuses to change. This is abnormal coming from any other curve editor.
Image 3: What I want to achieve using a third keyframe which I shouldn’t have to use.
Image 4: What any other curve editor does in the same situation (AE in this case).

The amount of ‘punch’ generated by the curves in image 2 is really lacklustre and not what I need for my project but adding third keyframes to every animation is fiddly and if you’re scaling while moving an object for instance then those curves aren’t going to line up perfectly and it’ll look wobbly.

I’ve tried everything and asked on Reddit, Googled like crazy but I just can’t figure it out. We tried it on 3 machines with the same result and another designer in my team is also stumped (and a bit shocked at the curve editor like I am!).

Please help <3


#2

Here is my guess: For the animation to work at all, the curve needs to be a function of time, meaning that every time point must be associated with a unique point on the curve (or in geometrical terms: every vertical line must intersect the curve exactly once).

In your examples, it looks like the curve is very close to becoming vertical at one point, therefore violating the above condition. Possibly, C4D is smart enought to enforce this, and therefore limits how far the curve can be pushed?


#3

But it won’t even come close though. I get what you’re saying in that it could prevent it from becoming really vertical but it’s limiting it substantially (the tangent only goes exactly halfway). What bugs me most is that every other curve I’ve ever used (Max, Maya, AE) let’s you do it without any issue. Also it can be forced into the desired behaviour with a third keyframe so it’s not like it’s incapable of producing the correct animation.

I’m just really hoping there’s some setting I’ve missed somewhere and it’s not a fundamental issue with the way C4D’s curve editor works.


#4


I am getting weird but different behaviour when I try to replicate what you are doing. As you can see here I have one tangent handle affecting the curve and one that doesn’t…


#5

I noticed the same thing, the 2nd key always seems to override the first. It happens when changing keyframes from linear to eased as well. You change the second keyframe and it overrides the first.


#6

Sadly, C4D’s timeline has always had quirky issues like this. They would probably be called limitations rather than issues or bugs, but I much prefer the straight-forwardness of adjusting curves in AE. Even using the speed curves (as opposed to value curves) in AE is preferable for me over what we have in C4D.


#7

Further, if you enable “show velocity” under the F-Curve menu, you will be able to really visualize the speed. Shown in blue in the attached, you’ll see it’s a very smooth hyperbolic shape, which is usually desireable, but we don’t have the control that I’d prefer to have.

It has bitten me several times in the past when I want to do a super slow ramp up to very snappy movement using curves. C4D just doesn’t have that kind of curve control.


#8

Hey - have you looked at the key presets in the key properties? Would it be an auto weight / overshoot issue?

This video explains it.
https://www.cineversity.com/vidplaytut/new_in_release_17_quickstart_animation_workflow


#9

Sadly no :frowning: I just tried every option in the key properties and none of them change the behaviour. Good idea though I hadn’t tried everything in there before.


#10

I really hope this isn’t a hard limitation of C4D :confused: it would be so disappointing as it’s such a basic thing. I’ve mostly enjoyed transitioning to it from 3ds Max but things like this make it feel like it’s just not quite ready to play with the big boys yet…


#11

It’s a hard limitation as far as I know. I’ve been a C4D user since version 6 and I’ve not found a way around it. I’d love to be proven wrong though! I would feel mighty stupid, but would be overjoyed if there was a simple work-around.

In my screen shot above, showing the blue speed curve, That was the extreme. Even if I pull the handles further out past the 60 frame length in either positive (on the last frame) or negative (on the first frame) the curve remains the same until I drop the length of the bezier handles into the less than 60 range (-60 or +60).

It doesn’t seem to matter if you break tangents either.

The gist is that we need the temporal data to be separated from the spatial, and C4D just doesn’t work that way, unless you convert your spatial data to a spline and use align to spline, then you can adjust easing as you see fit. But that’s not very useful as an overall strategy. It’s ok for point to point moves though.


#12

Sad if true :frowning: I’m gonna try ask on one Facebook group and see if anyone knows anything and if not I’m gonna contact Maxon and see if I find someone clued up to talk to.

Who knows maybe they’ll let me talk to a developer and I can convince them this is important and needs fixing :stuck_out_tongue:


#13

Not sure if this behaviour is wrong or not, it seems to react on the internal algorithm as expected.
If you pull the tangents against each other like in your second image (OP), they are negating each other.

If you pull only one of them you can see that it still reacts.

I think the algorithm might be different than other software, not necessarily something wrong but interesting to see.

Edit:
After further investigation, it might be a bug, this item was reported.


#14

Oh how do you find out what’s been reported?

I hope it’s a bug but it’s present in at least R17 and R19 which is what I have access to. interactiveBoy sounds like he’s been seeing this for many many versions of C4D.


#15

So spoke to Maxon and as 51mon suggested, they are saying it’s a bug and the guy admitted that it’s been around for a while. No indication of when it might be fixed but that it would of course only be fixed in whatever the current version of C4D is at the time it gets fixed. So could be R21, could be R30 who knows :slight_smile:


#16

Is it really a “bug”, as in, a programming error? Or is it just a property of the algorithm? I recently implemented some Hermite interpolation with the additional properties of being monotonous and avoiding overshoots, and that utilizes limitations of the tangents too. Perhaps the key interpolation in C4D uses a similar algorithm, so the seemingly manually controlled tangents get automatically shortened to fulfill the side conditions.

In that case, it would be quite difficult to remove, as it would require a completely different algorithm, which in turn would yield different results for existing scenes all over the place. I can sort of understand that a programmer wouldn’t like to touch that with a fork.


#17

Bug or limitation, as an end-user I don’t particularly care.

I just want to have more control without the limitation, however that needs to be implemented. It’s been around for a long time, so my hopes of it ever being addressed are slight at best.

Even if it’s just a limitation of the algorithm, which seems highly likely, it should still not be affecting the first keyframe as it is. (Where it allows the second keyframe to overpower the first, but not the other way around).

So in that sense, this needs to be addressed in some way, and while in there mucking about, why not give us more control as we desire?

Here’s to hoping for an implementation by R29. haha (I kid, I kid)