Normals face outward
Brought to you by:
kworces
There is already invert normals but at times it would
be easier if you can just select a group of faces and
says all normals face forward. The selected normals
would all be faced the same direction were then you
could invert them if I wish. This might help if you
have a large number of faces you want their normals
inverted but don't want to select them individually
when they are in a group of mixed up normaled faces.
Logged In: YES
user_id=1056544
There's a UI issue here in defining what "forward" means.
Technically the user could have viewports open for all 6
directions at once, and the menu commands aren't associated
with a specific viewport so the program would have to guess
which way the user wants the normals to face.
Since tools are associated with viewports, I suppose one way
to do it would be to add a "face me" tool. You would select
a region just like using the "select faces" tool except that
any faces in that region would immediately invert normals if
they were facing away from the camera in that viewport. The
"gotcha" here is that if you're working with an enclosed
hull you most likely don't want the faces on the opposite
side of the hull to face the camera. But that could be
negated by ignoring faces that are "behind" other faces
(this could even be an option the user could enable/disable).
There are a couple convenience commands that could be added
which might give similar behavior.
One would be a sort of "conformity" command. It would
basically cause the triangles to all face the same way that
most of the other selected triangles are facing.
The other convenience command would be a "face out" command
that would work on enclosed 3D hulls. Using a ray
interesection count you can tell if the face is pointed in
or out (odd is inward, even is outward) and invert the face
if it's pointing in. But this would only be reliable for
enclosed meshes.
If the original poster or any other observers have further
comments or ideas, please add them to this RFE.
Logged In: YES
user_id=1056544
Originator: NO
I will implement this as a "Face Out" command. It's on the TODO list for 1.3.
Logged In: YES
user_id=1056544
Originator: NO
There will be a "Face Out" command in 1.3.5. It causes all triangles to point outward from enclosed hulls (if the triangle is not part of an enclosed hull the behavior is undefined). The
in/out facing test draws a line from the center of the triangle and finds triangles that it intersects. If the number of triangles it intersects in front is odd and behind is even, the face is pointed in and must be inverted. Two edge intersections count as one triangle intersection.