You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This suggestion refers to a common tool general modeling apps tend to implement pretty early on, being "curve" or "spline" objects which can then be "extruded" into mesh "tubes" or "profiles" with a variety of parameters
This type of tool can be very particularly useful for modeling things like
hard surface pipes
machine or street wiring
stylized hair
complex bent tentacles or long animals (snakes, worms...)
any object consisting of an elongated tube or profile bending multiple turns in a way that would be much harder to model without a spline
Splines have handles, which can be of a few types
Bezier
NURBS
Something to know
Bezier and NURBS are technically programmatically identical, but the UX of them is very different, as Bezier may feel more natural where NURBS might be more confusing and difficult to handle for users
And here are the different "stages" of rendering a curve in most softwares
Parameters that are commonly found within Splines in other softwares
Resolution U
How detailed the resulting tube will be, less resolution equals a less smooth curve
Resolution V
How many edges the radius of the resulting tube will have, less edges for more geometric shapes, more for circular looks
Point size
How big a given point on the curve is, usually also affects the actual mesh this curve will render
Tilt
This property controls the orientation of each point along the spline's normal
Useful to get twists and control if a flatter profile is properly oriented
Profile shape
Not always present, but usually available in generalist modeling apps, this defines the shape of the resulting tube, and causes the curve's native V property to be ignored in favor of the profile's resolution. The profile can usually either be a mesh or another curve
From Spline to mesh
The last point of implementing a spline system, is to have it be easily converted to a static mesh, which most softwares will tend to do in at least one of two ways (often both for more professional oriented packages)
Splines preview meshes, and can be converted once finished
(This is the method all screenshots above have used, except for the last one)
In this scenario, the curve's mesh is never editable as a mesh until it is explicitly made "static", after which the spline stops affecting the mesh (or straight up disappears like in Blender), and the resulting mesh becomes editable with conventional polygonal tools. One downside can be that the user may wish to edit their curve again, scrapping whole pieces of it after various edits (this could be argued to be an organization issue on the user's end though, rather than a UX issue).
Splines independent of mesh
In this scenario, the spline is always separate from the mesh, and the mesh gets mapped onto the spline like a spaghetti, this method has ups and downs, it preserves the original mesh's integrity while deforming it non-destructively. But it will also deform in quite drastic ways if a turn is too tight. It may also cause stretching or squashing.
The text was updated successfully, but these errors were encountered:
also worth mentioning #1921 has suggested this a while ago, but admittedly in a much less comprehensive manner. As splines don't really need to be able to map meshes along their normal, they'd mostly be useful for wire/rope-like objects in a majority of use cases.
Larger applications (roads, train tracks...) could easily be hand-crafted without a requirement for direct mesh mapping if the basic principle was to be implemented
A few examples of work done in Blockbench that could have been helped by Spline mesh support
The roots here took much longer to make than they would have if we had access to splines, as they required a lot of careful editing of each individual tube, extruding repeatedly, and touching up UVs every time we wanted a slight shape change.
The snake also took a good 4 hours to model by extruding and carefully shifting faces around, before UVs and touchups
In this one, the tree branches and train Pipes also took a good chunk of the overall workload, the pipes in particular required a lot of support edge loops to be spawned and followed carefully to do perfect 90° rounded turns, something that would have been much easier using splines
Detailed description of your suggestion
This suggestion refers to a common tool general modeling apps tend to implement pretty early on, being "curve" or "spline" objects which can then be "extruded" into mesh "tubes" or "profiles" with a variety of parameters
This type of tool can be very particularly useful for modeling things like
Splines have handles, which can be of a few types
Bezier
NURBS
Something to know
Bezier and NURBS are technically programmatically identical, but the UX of them is very different, as Bezier may feel more natural where NURBS might be more confusing and difficult to handle for users
And here are the different "stages" of rendering a curve in most softwares
Parameters that are commonly found within Splines in other softwares
Resolution U
How detailed the resulting tube will be, less resolution equals a less smooth curve
Resolution V
How many edges the radius of the resulting tube will have, less edges for more geometric shapes, more for circular looks
Point size
How big a given point on the curve is, usually also affects the actual mesh this curve will render
Tilt
This property controls the orientation of each point along the spline's normal
Useful to get twists and control if a flatter profile is properly oriented
Profile shape
Not always present, but usually available in generalist modeling apps, this defines the shape of the resulting tube, and causes the curve's native V property to be ignored in favor of the profile's resolution. The profile can usually either be a mesh or another curve
From Spline to mesh
The last point of implementing a spline system, is to have it be easily converted to a static mesh, which most softwares will tend to do in at least one of two ways (often both for more professional oriented packages)
Splines preview meshes, and can be converted once finished
(This is the method all screenshots above have used, except for the last one)
In this scenario, the curve's mesh is never editable as a mesh until it is explicitly made "static", after which the spline stops affecting the mesh (or straight up disappears like in Blender), and the resulting mesh becomes editable with conventional polygonal tools. One downside can be that the user may wish to edit their curve again, scrapping whole pieces of it after various edits (this could be argued to be an organization issue on the user's end though, rather than a UX issue).
Splines independent of mesh
In this scenario, the spline is always separate from the mesh, and the mesh gets mapped onto the spline like a spaghetti, this method has ups and downs, it preserves the original mesh's integrity while deforming it non-destructively. But it will also deform in quite drastic ways if a turn is too tight. It may also cause stretching or squashing.
The text was updated successfully, but these errors were encountered: