Scatters points over the surface of a Mesh received from something like Primitive, and outputs them as a PointCloud. Triangles are chosen weighted by area, and the interior of each triangle is also sampled uniformly, so points do not concentrate where there are many small polygons. The result is the same every time as long as Seed is the same. The mesh is analyzed (vertices, triangles, cumulative area) only when the Mesh reference changes.
- Count — The number of points to scatter (default 2000, clamped to 1-65536)
- Seed (default 1)
- Align to Normal — When on, each point’s rotation faces the direction of the surface normal (default on). When off, rotation is 0
Vertices cannot be retrieved from a mesh with Read/Write disabled, so the point count is 0. In this case an isReadable=false log appears in the console.
The point count is also 0 when no Mesh is connected.
Input ports
| Port ID | Type |
Mesh | MeshInput |
Count | int |
Seed | int |
Align to Normal | bool |
Output ports
| Port ID | Type |
PointCloud | PointCloudOutput |
Scriptable members
| Path | Type |
countInput | int |
seedInput | int |
alignInput | bool |
Synapse Apps (scripting)
await synapse.modules.create({ type: "PointScatter" })