A method I found to find clump borders.
1 Create a Sphere
2 Create a Pointcloud, Emit 10 particles from the Sphere (Emit from Geometry) and call that Pointcloud "BaseEmitter"
3 Create a new PoinCloud, Emit 10000 particles from the Sphere (Emit from Geometry).
Using GetClosestLocationFromGeometry, get particles datas from "BaseEmitter" such as color, so you can visualize what it's doing. See, it's making large beautifull colored areas :)
What we want, is find the border of these areas
This way of doing things was taught from my friend Nika Ragua on vimeo https://vimeo.com/69505473
4 We're also getting the BaseEmitter ID and storing them as Self.Clump
See, each particle has a number corresponding to the area it is belonging to.
5 With a GetNeighboringParticles we're getting that Clump value.
The idea here is that, now every particle is aware of the Clump value of its closest neighbor.
We're storing that value as ClumpNeighbor
6 Now, We're Subtracting the Clump from ClumpNeighbor
The idea here is that if result is different from zero, it means we're on a border !
Now look, every "1" is showing the border.
7 That's good, but there's a problem. It's working for one (1) neighbor per particle, but if you want more neighbor (thicker border) you'll end dealing with arrays per particles.
(Max Neighbor =5 for the example)
8 Let's filter that ! Border!
jeudi 31 octobre 2013
mercredi 30 octobre 2013
Distributing particles in circle
Hello there, I've decided to try myself to the sharing of experiences within Softimage Ice :)
It's not that I intend to learn anything to anyone, but sometimes sharing thoughts is good, and writing them is even better !
Recently Andy Moorer published a great article http://andy.moonbase.net/archives/859 about putting strands in circles.
This exercise has a different approach with different results. It's just about distributing particles around other particles. ...well the only common point is it deals with circles ^^
First, lets create a simple Pointcloud, call it "Emitter" :
100 Particles aligned on surface.
In another Pointcloud, create an unsimulated IceTree, that will create 10 copies on top of each other of the previous Emitter Pointcloud. We're storing Self.NumberOfclone for later use.
Method provided by Vincent Ulmann |
Notice how the particle ID are organized per particle, we have a clump of 1, 11, 21, 31, etc and further in the picture you see another clump 5, 15, 25, 35...
We want these clumps to be reorganized in 0, 1, 2, 3, 4, 5, 6, etc. per particle clump
Let's clone, and repeat the Translate local. (Store the 2 PointPositions Values, before and after cloning)
Now you can create an Array of points between those 2 (Check "Delete Source" in ClonePoint)
And with some Turbulences and higher values
Complete Tree
lundi 10 mai 2010
mercredi 29 avril 2009
samedi 6 septembre 2008
mercredi 5 mars 2008
lundi 28 janvier 2008
Inscription à :
Articles (Atom)