There's an option to smooth a curve's radius, but is it possible to smooth the Tilt factor of points in a curve?

Curves with first, last and mid point tilts changed

For example when making a road or flight path, I'd like to tilt just some of the points and have it interpolate for the points in between, or simply smooth out the tilting of selected points to get rid of unwanted bumps.

Is there any native way to do this?


Curve weight and tilt smoothing has been added in r58575.
Will be available in the 2.69 release or any recent build.


At the moment I assume that there is no native way to do this, correct me if I'm wrong. So I wrote a little script that will interpolate (not smooth) tilts of the selected points linearly:

import bpy
curve = bpy.context.object.data

# create point list
points = []
for pt in curve.splines[0].points:
    if pt.select:

starttilt = points[0].tilt
stoptilt = points[-1].tilt

# linear interpolation
print ()
increment = (starttilt - stoptilt) / len(points)
for pt in points:
    pt.tilt = starttilt - increment
    increment += (starttilt - stoptilt) / len(points)

This will loop through the selected points and set the tilts to interpolated values between the original tilt of the first and last selected points.

Result: Result of the above script


You could use Proportional Editing while preforming Tilt operation.

Tilting curve point 180° while increasing the proportional editing falloff

There's also the tilt interpolation method in the Properties window, Object Data tab, Active Spline panel.

  • $\begingroup$ Ah of course, that's a great solution assuming you know about it from the start, thanks $\endgroup$
    – Greg Zaal
    Jul 25 '13 at 5:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.