Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
Hi,
Face normal's direction is computed automatically based on the average of the points, correct me if I'm wrong.
Is there a way I can override it and compute it myself?
Regards, Ben
Normal data is stored in a Normal tag. See NormalTag Manual.
So you can create a (new) normal tag and store any new normal data you like.
If you look around the forum you will find threads showing how to do that in Python, e.g. Handling direction of the normal tag.
the orientation of a face, i.e. the average of its point normals, is determined by the right-hand-rule of the cross product. Because of that, inverting the vertex order of a polygon will also flip its normal.
Note that this order is primarily a geometric feature and not a sequential one. If you for example reflect the points of a polygon on some axis, you will also invert their geometric order by that. To have the resulting polygon to point into the same direction as the source, you will have to invert the vertex order of the polygon.
I have shown most of this in an example for another question of yours.
Cheers, zipit
@zipit
Thanks for the response. But I think there is a misunderstanding.
I just want to replace the face normal's direction. So somewhat an operation like this
face_list = polygon_obj.GetFaces() for face in face_list: face.normal = c4d.Vector(x, x,x)
There is a GetFaceNormal but it is on the SculptObject. Basically, I don't know how to access the face's normal and replace them with my own vectors.
GetFaceNormal
SculptObject
Here's also a demonstration of what I am after in Houdini: https://www.youtube.com/watch?v=GHyZVT6t0Z4
hi,
everything have been said, nothing to add here
Cheers, Manuel