This is my latest WIP, a compound that distributes evenly over a surface. After looking around I found IOXU Heavy Industry 'Dart Throwing' implimentation.
Although nothing wrong with this approach, I want a compound that is static, and not implimented by an simulated ICE tree, but based on the same principles of packing particles in tightly.
After also looking at Christian Schnellhammer Uniform approach for Houndini, I have set about making something similar in ICE.
So far I can get a pretty good result. Using a repeating approach, as the number of iterations increases the particle start to settle more, accuracy increases the amount of Neighbouring particles taken into account, which also helps refine the solution.
In a basic overview, the particles push against each other using the averrage distance between each other, rinse and repeat until settled.
At present the particle with find the edge of a surface, in this case a grid, then space accordingly, but I would love to push them away from the edge to create a buffer/boarder. There are also some issues when using this on something like a Sphere, which at the moment defeats the whole purpose of the compound. My math's is awful, so I think there is an issue about calculating the distance between points, when 3D space is taken into account.
Anyway, it's a way off yet, but should be useful once complete.
Things I will be adding:
1. Make it work on Geo surfaces is critical
2. Vary the size of the particles, and pack around these points accordingly.
3. Create buffer zones around open edges
4. Weight map influence.
5. Light influence, or any other custom attribute influence (Mainly for build an eco system feel)