Distribute Points on Faces

Distribute Points on Faces node.

The Distribute Points on Faces node places points on the surface of the input geometry object. Point, corner and polygon attributes of the input geometry are transferred to the generated points. That includes vertex weights and UV maps. Additionally, the node has Normal and Rotation outputs.

The node also generates a stable ID, stored in the built-in id attribute, used as a stable identifier for each point. When the mesh is deformed or the density changes the values will be consistent for each remaining point. This attribute is used in the Random Value and Instance on Points nodes.



Standard geometry input.


The input geometry must contain a mesh with faces.


The selection of which face corners should be considered for point distribution.

Distance Min

The minimal distance points can have to each other. This option is only available for the Poisson Disk distribution method. At its default value of zero, the node's behavior is the same as it is in Random mode, because none of the internally generated points are removed.

Density Max

The point density for the point distribution. The unit is in number of points per square meter. This value is multiplied by the values from the Density input. Only available in Poisson Disk mode.


This will be capped on distributions by the Distance Min option. If the density is greater than what the minimal distance allows, no new points will be added after this threshold has been passed.


The number of points to distribute per square meter on each mesh face. This value is multiplied by the values from the Density Attribute.

In Poisson Disk mode, this value is multiplied by the Density Max input for the final density.


The random Seed to use when generating points.



Distribute points randomly on the surface. This is the fastest distribution method.




Generated points. Named attributes are copied to the result mesh, along with the data in the other attribute field outputs.


The Normal of the triangle on which each point is scattered.


An XYZ Euler rotation built from the normal attribute for convenience. Such a value can also be built from the normal with the Rotate Euler Node. Keep in mind that the Z axis of the result rotation will be arbitrary, since the mesh normal used to create the rotation does not have enough information to set all three rotation axes.