Page MenuHome

Geometry Nodes Point Distribution: Align points to face normals
ClosedPublic

Authored by Hans Goudey (HooglyBoogly) on Dec 31 2020, 10:37 PM.

Details

Summary

This patch makes the point distribute node write to the "rotation"
attribute with the normal of each face at each distributed point.

The conversion from the triangle normal to an Euler rotation is somewhat
arbitrary, since we only have one piece of information. Ideally we would
use some non-arbitrary tangent vector to define each point's local Z axis
rotation. However, the user will probably want to use some setup like in
the following image to randomize each point's rotation anyway.

That's actually an open implementation question for me. It looks like the
tangents exist in the CD_TANGENT data layer. We still need to expose
custom data layers like that to the attribute system though (see T84297).
Because this is unresolved, I consider this patch more of a prototype.

Ref T83362

Diff Detail

Repository
rB Blender

Event Timeline

Hans Goudey (HooglyBoogly) requested review of this revision.Dec 31 2020, 10:37 PM
Hans Goudey (HooglyBoogly) created this revision.
  • Write both rotation and normal attributes
This revision is now accepted and ready to land.Jan 11 2021, 6:21 PM