0
$\begingroup$

enter image description here Sorry for the nebulous title, I'm not really sure how to explain this clearly. This is a stripped down bit of a bigger project that just focuses on the behavior that is confusing me. The picture I included shows top and bottom views of the geometry generated by my nodes. The top right part is the top level geometry nodes, and the bottom part is the "One panel" node group that the top level nodes are referring to.

In this simple example, I'm creating two extruded kites. I use a grouped set of geometry nodes to make each kite (the "One panel" group shown). The group starts with a quadrilateral (kite) and extrudes it in one direction only (I want it to extrude only in the +Z direction, not the -Z direction). I color the "top" face (the face at index 0) to make it easier to see what is going on.

I was expecting my two panels to be identical in orientation, but as the screenshot shows, one seems to be flipped 180 degrees from the other! I'm completely baffled as to why this is happening.

Another odd thing I discovered was if I delete the Divide node in the "One panel" group and just route the group input value straight to the input sizes of the quadrilateral node, both kites have the same orientation (not flipped).

Can anyone explain these two behaviors? Why is one mesh flipped 180 deg? Why does removing the divide remove the 180 deg flip? TIA

$\endgroup$

1 Answer 1

0
$\begingroup$

I think you cannot rely on indexes of faces that come from convex hull. There are no evidence that 0 face will be always on top or at the bottom. You misused convex hull.

Firstly, you can get the up face only by its normal. Use dot product to check it (compare node):

enter image description here

But I think the extrusion should be simplified like this, do not use convex hull:

enter image description here

$\endgroup$
3
  • $\begingroup$ Thanks, that seems to work for me! Any ideas on why removing the Divide node causes Blender to not flip the mesh? Also, do you have any tips on when should I use convex hull vs. fill curve? $\endgroup$ Dec 16, 2023 at 23:35
  • $\begingroup$ Convex hull is designed to work with complex 3-dimentional shapes, not flat ones. And due to the complexity of this algorithm, it is hard to predict how it will behave. Full curve is much simpler triangle fill algorithm that you can expect similar result on similar inputs. $\endgroup$
    – Crantisz
    Dec 16, 2023 at 23:53
  • $\begingroup$ Great, thanks for the clarification! $\endgroup$ Dec 17, 2023 at 0:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .