by Lewis2e in Scripts and Addons

What is SplineSculpt?

In a nutshell, SplineSculpt is an add-on for Blender sculpting that allows you to draw along a 3D curve. Everything happens entirely in 3D space.

Curves are standard Blender curve objects that can be created in any way you wish, and (optionally) prepped for drawing via the tools provided in ScplineSculpt.

Being able to draw along curves allows you to make precise strokes to create unique designs that would not be possible by freehand alone (or not with my shaky hands anyway...). Being able to re-use and refine curves using all of Blender’s standard toolset means you can create complex designs with total precision.

Key Features:

  • easily draw panel lines and similar surface features – perfect for hard surface sculpting;
  • everything happens entirely in 3D space;
  • use standard Blender modelling methods and tools (e.g. the Array Modifier) to create and edit curves, or use SplineSculpt’s own quick curve creator to easily create a curve right from sculpt mode; and
  • vary the resolution of your curve stroke to easily create repeating patterns.

But wait, doesn’t Blender already have Paint Curves as a stroke option?:

You're right! It does, however, Paint Curves have serious limitations:

  • awkward to create, using a limited interface that doesn’t seem to fit with the rest of Blender’s controls;
  • not re-usable. You cannot take an existing, regular curve object and make it into a paint curve (or vice versa). Paint Curves simply don’t exist in the 3D world of your scene; and
  • created in 2D space (as if they were stuck to your computer screen). You can not, for example, create a Paint Curve that wraps around the back of your model. Also, if you move either your model or your view, the Paint Curve will no longer line up with your model.

Limitations and future plans

  • The biggest limitation for me is that the “rake” option is ignored. This is a limitation of Blender that means, while you can use brush textures, that texture will not follow the direction of the stroke in the same way as it would when making the stroke freehand and with “rake” enabled. I really hope to be able to fix this in future, as it is one of the key goals I had for this add-on.
  • The quick curve function is a bit rough at the moment. I hope the improve the options and interactivity of this in time.
  • This is my first add-on, so there are likely to be bugs and issues that I will need to resolve when known.

How do I use this Add-On?:

Everything happens from the panel, which you will find on the Tools Shelf:

As you might expect, you need: (1) a curve; and (2) an object to sculpt or paint on (the “Target Object“).

(1) Creating and preparing a curve

Your first option is to use SplineSculpt’s Quick Curve function. Simply hit the button and then left click to create points. Brief instructions are given at the bottom of the window. Hit enter when you are done to generate the curve object.

Alternatively, you can create your own curve using Blender’s standard tools. If you create your own curve, SplineSculpt includes tools to prepare your curve for painting (the “Prepare Curve Tools“). You can start from either an existing curve or a mesh object (best to be a string of verts) and then use the following Prepare Curve Tools to optimise it:

  • Smooth – Leave the curve in a smoothed state after the other operations;
  • Space – Space the points of your curve evenly. See the Tips section for why this matters;
  • Snap – Snap the curve to an optimal distance along your Target Object;
  • Reduce – Simplify your curve by removing some of the points. See the Tips section for why this matters;

(2) Painting a stroke onto your Target Object

You need to be in sculpt mode. You also need to have your curve selected in the SplineSculpt panel. Remember, your curve must contain at least one bezier spline.

You make a stroke by (you guessed it) hitting the Draw button. The brush settings (size, pressure etc.) will be those that you have set when you hit the button. You may want to make a few test strokes and then undo them before you hit the button, just to get an idea of what you will get.

The density figure is the number of “dots” that you want to make between the points of your curve (see Tips below). For example, to create a repeating dot pattern, you might reduce this to 1. To paint only on the points of your curve, you would set this to 0. To paint a nice continuous stroke, you would set this to around 30 or above.

You can paint and then undo your stroke as many times as you like. You can also hit the button multiple times to increase the effect until you are happy.

Tips and key principles to keep in mind

  • SplineSculpt only paints along bezier splines. You will not be able to select a curve object unless it contains a bezier spline, so make sure you use Blender’s “Set Spline Type” tool to convert your curve (the Prepare Curve Tools will do this automatically if you are using them);
  • You will get best results from a curve where the points are spread evenly. This is less important if you are painting in high density (i.e. a continuous stroke). This is much more important if you are painting at a lower density (i.e. a repeating pattern). This is due to a limitation in the way that Blender lets the script access the curve data;

Show me

Will this add-on continue to be developed

If even a few people are using it, then yes. If there is no interest in it whatsoever, then no.

I am hopeful that as the Blender API and associated documentation improves (fingers crossed for 2.8), some of my wilder ambitions for the add-on might be achievable.

Will updates be free?

Yep. Always.

I looked at your Python code and I now feel a bit ill

That's not a question but... yeah, don't do that.

I am not a professional coder (neither am I professional CG artist or Blender user). This is something I have wanted from Blender for a long time, so I set about trying to hack it together with no real knowledge. My Python coding style is really "keep hacking at it until it works".

I have tested the add-on myself and asked people on CG Cookie to beta test it, but there will inevitably be bugs or things that are not understandable outside of my head. I will correct these as they become known.

If anyone is a better coder and wants to get in on this with me - please do let me know.

Item Rating

This item has an average rating of 5 from 1 ratings by the community.

  • Jacob Klingel 3 months ago

    I have been hoping someone would be able to pull this type of addon off and you just made my wishes come true! It works great and I love the fact that you have a Prepare Selection button for those oddball ideas on how to get the curve to fit just right when bouncing between curve and mesh objects. All I can really say is thank you very much for this excellent addition to my work flow arsenal.

    • Lewis Toohey about 1 month ago

      Really glad you like the addon, I hope you create lots of oddball things with it :-)

Purchase this item to leave a review!