I want to create a smooth mesh using four curves. I want to animate the curves so that it changes the mesh.
Basically, I have the four curves(black lines) in the picture. Just want to cross link them (red lines) and make the mesh. 
- 36,165
- 1
- 61
- 135
- 113
- 5
-
Suggestion. Please consider an armature of 4 sets of 4 bone sequences. Hook modifiers on curves are possibility. You may want to search question with the word [loft] or [lofting] – atomicbezierslinger Nov 04 '22 at 17:28
-
are your curves subdivided? You could hook each vertex of your mesh to some empties, then parent the empties to the vertices of the curve... – moonboots Nov 04 '22 at 17:31
-
1You can also consider a [spline ik constraint] on armatures. – atomicbezierslinger Nov 04 '22 at 17:37
-
@moonboots would like to have many points > 50 on curve to produce smooth mesh. I will probably need to subdivide it to get the right shape when I create animation. But to get started doesn't have to be subdivided. – alibaba_0000 Nov 04 '22 at 23:32
-
Related https://blender.stackexchange.com/questions/1503/how-to-make-uv-loft-like-3ds-max-in-blender-using-curves https://blender.stackexchange.com/questions/746/lofting-between-splines https://blender.stackexchange.com/questions/138901/loft-tool-in-blender-2-8/ https://blender.stackexchange.com/questions/278462/create-mesh-from-four-curves-loft https://blender.stackexchange.com/questions/301152/how-could-a-loft-object-be-closed – Duarte Farrajota Ramos Nov 06 '23 at 09:42
3 Answers
Geometry Nodes
Edit - Previous version with Merge by Distance was quite limited ... so here is better one :)
- start-end connection is bezier now
- easily change grid density from modifier panel
- current setup handle extreme curvature
- start/end surface fits at its position
The example uses ...
- Two curves (Start / End)
- Instanced Bezier Segment on Start curve with end point at End curve
- Points position used as attribute for Grid object
- 36,165
- 1
- 61
- 135
-
i just "stole" your solution here to post it here: https://blender.stackexchange.com/questions/278553/double-curvature-surface-from-curves-generated-with-geometry-node - hope you don't mind. – Chris Nov 07 '22 at 15:23
-
@Chris No problem ... justQ - Why you didnt reused RobinBetts's one ... seems to be way flexible :) – vklidu Nov 07 '22 at 17:35
-
Because i could quickly understand yours. Robin's solution are often from his genius mind - but the downside for me is: i don't understand them quickly.... ;) – Chris Nov 07 '22 at 18:32
-
@vklidu The bonus thing is very sweet of you.. thanks. this one did take me a while.. I started off down completely the wrong road.. – Robin Betts Nov 07 '22 at 21:20
-
@RobinBetts - I could value it through my own pain :) I felt glorious just for simple indices pairing thing ... so your remapped index list is (in such a flexible way) is in miracle category for me. Thanks – vklidu Nov 08 '22 at 08:08
Here's a shot at making Loft Curves: a reasonable GN emulation of the AN node in @Chris's answer.
It modifies a curve comprising an arbitrary number of ordered, acyclic splines, of any resolution or type.
The strategy is: first, to create 'cross-ribs' on the incoming splines, by resampling the incoming splines to a desired U resolution, and doing some index-wrangling to switch spline indices and point-per-spline indices:
The cross-ribs simplify smoothing of the geometry in the loft (V) direction, by converting the ribs to Bezier curves, and extending or retracting their curve-handles. Loft Curves assumes the smoothing is already set on the incoming splines:
The Loft Curves GN group employs the above sub-groups as shown. After the ribs are smoothed, they can be resampled to the desired V resolution, and a Mesh Grid can be mapped to the ribs, by index:
A few extra nodes are included to permit the setting of smooth-shading, material, and to flip the face-normals of the lofted mesh, if needed. The group also outputs the UV coordinates of the mesh, for use in texturing.
(Blender 3.3)
Edit: in answer to @alibaba_0000 's query.
When transferring attributes by mapped indices, you must find a mapping from the destination indices to the source indices. You tell the destination where to find the attribute on the source.
The 'Map Indices' cluster, in this case, performs the mapping illustrated by a few examples, below:
.. try a couple by hand.. you'll see. If you can find a neater way.. let me know :)
- 76,260
- 8
- 77
- 190
-
-
@alibaba_0000 It takes N splines with M points each, and re-jigs the indices to match M splines with N points each, (Rotating 'grid' indices through 90° without the expense of mapping, rotation, 'closest', for attribute transfer). – Robin Betts Nov 07 '22 at 13:18
-
1@RobinBetts ... Thanks :) in hope I will be able to learn from you one day. – vklidu Nov 07 '22 at 17:42
-
1@RobinBetts Thanks. This method is really good for constructing meshes (tried a few other things as well). Re-arranging the indices is really janky though. If I understood correctly, the indices get ordered: s00,s01,s02..., s10,s11,s12,..., s20,s21,s23... and the index manipulation changes to: s00,s10,s20...,s01,s11,s12,...,s02,s12,s32... where the splines are sn0,sn1,sn2... – alibaba_0000 Nov 07 '22 at 18:42
-
@alibaba_0000 Hehe :) not sure! I need a picture in front of me .. ( which is how I worked it out ) As soon as I get a moment with a machine, I'll send you one... – Robin Betts Nov 07 '22 at 19:28
-
with help of the amazing free add-on animation nodes you can basically do it with 4 nodes: (if i don't count the smooth node)
- 59,454
- 6
- 30
- 84
-
-
@Chris ... Nice and simple :) Thanks ... I just can't make it work. Last blender that works with addon is 2.93 ... even with that a mesh object just disappears ... can you check my file ? Thank you for help – vklidu Nov 05 '22 at 17:09
-
@vklidu: You are right. It works "only" on my animation nodes version for Blender 3.4 - i just tested it on older version, there it doesn't work so i would assume this is a bug in older version of AN. – Chris Nov 07 '22 at 10:14
-
and if i remember correctly i have compiled my own animation nodes add-on because i am working with python 3.10 - so if you compile it for yourself (i don't think you have a mac, but if you have i can send it to you) and then this worked. – Chris Nov 07 '22 at 10:21
-
ok, just copied my animation nodes folder from 3.4 to 3.2.1 and it works with your file: [1]: https://i.stack.imgur.com/DAcpE.jpg – Chris Nov 07 '22 at 10:24
-
-
-
Yes, Mac user here :) I haven't been compiling addon before ... I even didnt know adding can be compiled :( Sorry – vklidu Nov 07 '22 at 14:52
-
ok, just send me an email (my email is in my profile) and i can send you the files if you want to. Do you have a M1? I don't know whether this matters but it might be a reason why it doesn't work....and of course you have to have python 10 for your Blender installed (that i know for sure matters, because it is compiled for a specific python version) – Chris Nov 07 '22 at 15:11












