- Home /
Curve editor - can I get fully free tangents?
Hi, I'm quite new to Unity, so still learning things. I was doing some animations recently and I noticed that there's no fully free tangents mode for the curve keys. The Free Smooth or Broken modes let you rotate the tangents around the key, but their length always stay the same. This is obviously a limitation - in 3D animation packages you can also change the length of tangents to get any shape of curve you want. Am I missing something? Is this a limitation by design or maybe a feature on the to-do list?
I do not understand what the length of a tangent would mean from a mathematical definition? Is it a weight that is applied somehow? Or knot multiplicity for a b-spline or something? As your question stands I do not understand it.
Yes, you can think of the tangents length as their weight. But probably a more correct definition would be to see the ends of the tangent handles as the position of the curve's control points. There's nothing in the definition of Bezier curves saying that the distance from the end points to the control points should be fixed. Have a look at these linked curve editor images from $$anonymous$$aya, 3ds max and Illustrator: $$anonymous$$aya Curve Editor 3dsmax Curve Editor Adobe Illustrator They all support bezier curves with tangents of different lengths.
Answer by flashframe · Jan 11, 2017 at 02:23 PM
Sadly, this is currently not supported in the Unity timeline or curve editor. A workaround is to add extra control points on your curves, which isn't ideal, and often just isn't practical. It looks like they've added some nice new features to the timeline in recent Unity releases to improve its usability, but there are still some key features missing like the one you've described here.
That's what I was afraid to hear, but thanks for clarification on this one anyway. Yeah, I came across the new Auto Clamped tangents in the documentation, which is nice. Hopefully we'll get fully free tangents one day.
I converted the comment to an answer. Please accept it since it is the correct one.
Done. BTW. in the meantime I found this feature request, which is exactly what I was looking for. I upvoted it - that's all we can do for now. :)