Builtin Library
README.md
points.on_mesh (procNode)
Points scattered evenly by area over a mesh's faces, each carrying every attribute the mesh holds where it landed: point and vertex values blended across the face it lies on, a face's own values taken from that face, and values that cannot be blended taken from the nearest corner. N is the mesh's normal there, or the face's own where the mesh carries none. Use it to grow grass, rocks or decals on a surface and keep its colours and texture coordinates.
points.surface_samples on the emit scope: a face is picked by its share of the total area and a place inside it from draws 0, 1 and 2, and every attribute of the mesh is carried onto the sample. points.on_surface keeps only the position and normal.
Built from: points.surface_samples.
Inputs
geometry(Geometry). The mesh to scatter over. A face of any number of sides counts by its area.count(Float, default 256, at least 0). How many points. Each is drawn on its own, so raising this fills the same shape denser without moving the points already there.seed(Float, default 1). Which of the possible layouts this is; the same seed draws the same points on every run and platform.
Outputs
points(Points).P,N(unit), every attribute of the mesh, andid.
local tufts = g.points.on_mesh({ geometry = g.mesh.sphere({ radius = 1 }), count = 500 })