1
$\begingroup$

I have a set of Instances, some of which I want to mirror randomly. This works fine, but when I mirror the instances, their normals also reverse.

This seems like an easy fix with the Flip Faces node but that only seems to operate on the face domain and I can not figure out how to access any instance level information on that domain.

So how to I flip the faces of my geometry based on the instance index?

Instances after mirroring

$\endgroup$

1 Answer 1

1
$\begingroup$

Actually, you should not have to worry about the orientation of the faces if you set up the setup as follows:

enter image description here

Instead of changing the points of the geometry here, I change the whole instance instead, which basically preserves the normals.

However, if you then use the node Realize Instances, the normals are flipped for some objects.

To avoid this problem, create a boolean value on the instance beforehand, which makes it clear that this instance should be flipped.

In this example I create this value via the Dot Product.


(Blender 3.2+)

$\endgroup$
4
  • $\begingroup$ That's pretty much the exact same way that I mirrored my instances. Sadly doing so does invert the normals as expected which you can see once you realize these instances. Add a realize instances node to your setup and you are basically where I am at right now. $\endgroup$
    – Waldo
    Mar 20, 2023 at 10:46
  • $\begingroup$ @Waldo All right, I understand, that was my mistake. I have updated the answer, so it will work. $\endgroup$
    – quellenform
    Mar 20, 2023 at 11:23
  • $\begingroup$ Cheers mate. I was pulling out my hair over this and the answer was so simple all along. I tried all the capture and sample nodes and wasn't able to associate the boolean correctly with the realized geometry. This mirror part is only a small section of a much larger node I was working on. Storing which Instances were flipped in an Attribute and then flipping them back at the very end should be a perfect solution for me. Thanks! $\endgroup$
    – Waldo
    Mar 20, 2023 at 11:26
  • $\begingroup$ @Waldo You're welcome! $\endgroup$
    – quellenform
    Mar 20, 2023 at 11:27

You must log in to answer this question.

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