I like to really explore Splines using Animation Nodes (AN).
Splines aka Curves is often the odd one, the one that do not get much attention these days because the popularity of Polygon mesh. Luckily, I started 3D by learning about NURBS and Curves and Surfaces in Maya, so I kind of have an equal love between Curves and Polygons (!).
In Blender, Curves object is a special one (just like Text object or Metaballs). It's more than just a curve, it can "morph" into lots of other objects really quickly via Modifiers or other ways.
In order to really understand Curves, we need to look at it slowly and thoroughly.
The Simplest Curve...
.... is made of 2 Points.I am using Sverchok point index viewer because as far as I know, Blender is not showing points in Object level, needs to go to Edit mode, but that's a hassle. |
Two points will create a (straight) Line. Blender case, we need to care whether it is a Poly object or Bezier object.
"Spline from Points" node does the hard job, connecting the dots. But you may notice automatically created "Create List" node.
To be honest, I personally don't care about the naming, but I believe "Poly" curve is linear and always create straight lines. While Bezier is curvy.
Ok, next, when we have more than 2 points, we can start to have interesting shapes. And we can care whether it is "Cyclic" or NON "Cyclic".
Cyclic just means that the last point will make a close loop of the Curves (like a closed Circle), while Non-Cyclic means the curve is open, no connected lines between first points and last point.
Non Cyclic Curve |
Cyclic Curve |
Appending Point(s)
You can Append Point to Spline using that exact node like above. Soon you will realize that AN create these "Create List" node and "Get List Element" node quite often. A little confusing may be, even for me. But there might be a reason behind it, perhaps inside a single Curve object, we can have multiple Splines to create surface? Maybe. Something to keep in mind.
Anyways, we keep "Append Point" in mind, in case we like to extend a curve (?)
UPDATE CORRECTION FROM JACQUES:
You were right this Spline list is because a curve object in Blender can hold multiple splines.
Nevertheless these extra get list element and create list node are redundant. You should manipulate the spline first and then create the list from it.
Nevertheless these extra get list element and create list node are redundant. You should manipulate the spline first and then create the list from it.
What you did there is:
making a spline -> make a list with that spline -> take the spline out of the list -> append a point -> create the list again -> set the spline list on the curve object
making a spline -> make a list with that spline -> take the spline out of the list -> append a point -> create the list again -> set the spline list on the curve object
Instead it should be:
making a spline -> append a point -> create the list -> set the spline list on the curve object
Random Vector Points Generators >>> Curve
Random Vector node can be used to generate random point positions, that feeds into the Curve.
Wiggle Points >>> Curve
Like wise, Wiggle Points node, special node that generate wiggly points over time, also can be fed to generate Curve.Sometimes, in order to really understand what's happening, it's better to see in 2D what's really happening. So, let say we are looking through the Front camera, only Z is wiggling, Y is all zero, and X equals to "index" (0, 1, 2, 3, 4...) we can see more clearly the wiggly lines.
JACQUES: Use Wiggle Number node! Simpler! It exists!
Smoothing the Curve
Below you see node called "Smooth Bezier Spline" node that can help to create a smooth curve. Based on the Wiggly line above.Make sure you set to "Bezier" for the Spline from Points. |
Revolve Curves
Let's jump into another topic using Curves: to create DONUT shape by revolving Circle using another Circle.Below is probably one of simplest example. It generates a Donut shape, but really depends on how you orient the 2 Curves.
TEMPLATE: Distribute Instances on Spline
There is a fun template you can try to instance many duplicates of X objects, along Curve. This is actually one feature that Blender does not have but made possible using AN because of the node setup and this is actually useful.Animating Instances along Curve
Supposed we have a bunch of Torus along Circle curve.
Knowing that each one of duplicate instances are in order, we can use the Index to push and offset delay every instance.
NODE: Get Spline Samples
Using this node called "Get Spline Samples", similar to template above, we can place locate object directly along curve, and also know the orientation.NODE: Spline From Edges
Another handy node is to generate Splines, that is based on Polygon Edges. This conversion from Mesh to Curve is LIVE, so if the mesh is changing, the curve is also changing.
Lofting Splines
If you ever loft a bunch of splines to create a mesh, the process can be less destructive this way.Blender Polygon object is usually easier to work with, than Splines/Curves (I think) so sometimes maybe you want to do something like below where we have bunch of polygon edges, and we like to LOFT it into a surface.
There are plenty more topics we can talk about Splines, but that's probably enough for now. Save the rest for some other times.
If you are somewhat new to Blender and 3D, Mesh Edges and Spline Curves are two different things but each can be related to each other. Just like Vector and Point Positions, are two different data type, however can be used interchangeable sometimes.
And as always, knowing the fact that you suddenly have so many controls over many things can be overwhelming. If not careful, creating chaotic mesh is only a node away.
Post a Comment