3
$\begingroup$

I have a Curve object which I would like to use as a base curve for a GeoNode group; essentially using an existing curve with the curve nodes. This feels like it should be a pretty common situation: wanting to use an existing curve as opposed to the basic primitives, but it seems impossible?

From what I can tell, when a curve is passed to the node group it is converted into a mesh:

enter image description here

And all that somehting like this does is create a mesh connector called Curve

enter image description here enter image description here

One possible solution would be the use of the Mesh to Curve node, but that results in both quality loss and a curve that might as well just be a mesh (made of straight lines):

enter image description here

I can't even use Object Info to do this, it also converts the curve to a mesh

enter image description here

So, is there any way of doing this; using a pre-made curve with geonodes?

$\endgroup$
6
  • 2
    $\begingroup$ This is actually a very common situation, and when you pass a curve to Geometry Nodes (whether directly or via Object Info), nothing is converted. Curve remains curve. There seems to be a problem somewhere else. Can you share your blend file with us? $\endgroup$ May 21 at 16:11
  • 1
    $\begingroup$ @quellenform is, as usual, correct. I've tried curves as geometry input in 3.1.2 just now, and they work fine as curves. Which version of Blender are you trying this with? $\endgroup$ May 21 at 16:13
  • 1
    $\begingroup$ @MartyFouts According to the screenshot it must be at least 3.0, but even there there is no conversion of curves. Maybe there is another modifier hanging in the chain before GN or something... $\endgroup$ May 21 at 16:17
  • $\begingroup$ Yep, I'm using 3.1.2, here's the blend file drive.google.com/file/d/1rYtdYNnF12G4k-5A-SEMVkYlSg6aSgur/… $\endgroup$ May 21 at 16:18
  • $\begingroup$ Weird. Your GN was screwed up but I didn't see the same error. I deleted the GN modifier, added a new one, and everything is working fine in 3.1.2 $\endgroup$ May 21 at 16:22

1 Answer 1

8
$\begingroup$

Blender's curve objects are a little confusing, because they really consist of two different things, depending on when you evaluate them. They begin as one or more splines. Then, various properties of the curve turn them into mesh: bevel, extrusion, modifiers that are not set to act on the spline, and, in your case, being set as a filled 2D curve. All of these are properties that don't really make sense in a pure spline sense-- they make sense only as ways to turn a spline, which is just a line, into a mesh, a 3D collection of faces.

When GN is handed a curve object, it needs to make a decision about whether to interpret the object as a curve or a mesh. Here, it's seeing all of the faces that have been created by the curve object being 2D and deciding to interpret the curve as a mesh.

We can tell GN we don't want it do that very easily, by setting the curve to 3D in properties/object data/shape:

enter image description here

We can see now that there is no warning on our curve to points node, and that points are being generated along our curve.

$\endgroup$

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.