Maya Particle instancer to Geometry
http://www.sigillarium.com/blog/1188/
seen from Ireland

seen from Germany

seen from Australia
seen from United States
seen from China
seen from Malaysia
seen from Brazil
seen from Germany
seen from Türkiye
seen from United States
seen from United States
seen from Germany

seen from Malaysia

seen from United States

seen from United States
seen from Germany

seen from United States

seen from United Kingdom
seen from United States

seen from Singapore
Maya Particle instancer to Geometry
http://www.sigillarium.com/blog/1188/
Particle Instancer to Geometry
http://www.sigillarium.com/blog/1188/
Maya Crowd Test 1
Subject: Dynamics VFX 1. 6.08.2014
Creating an explosion using a volume emitter.
-Change volume emitter shape to a sphere and it's sweep to 180 degrees. This is so we're not wasting particles emitting underneath the plane. -Rotate the emitter so it's particles are going from the ground, up into the air. -Animate the explosion so.. -On the emitter, note the rate. On frame 10 set the rate to 0 and key. frame 11 - rate 100. frame 20 - rate 100. frame 21 - rate 0. So you get a quick burst of particles.
The 'away from centre' value in the volume speed attributes will control how fast the particles are moving away. Change to 200.000 for now.
Import the file: rocksGeoforinstancing.ma. Things to check: - Transforms frozen. - Centered pivot point. - All objects at 0, 0, 0.
Select rock_001 - _200. -Go particles > Instancer (option box) -Name particle instancer = eg: 'Debris' -Check what particle we're wanting to assign the particle to. [particle object to instance: particleShape1] -Now, link the particleShape1 node to the rockgeo. Go to the particle1 node then the particleShape1 node and scroll down to 'instancer' in the attribute editor. Make sure the instancer node is set to 'Debris1'. -Scale up the individual rock geos to see the flying rocks. -Now we have to randomise. Under the particle node, go down to 'add dynamic attributes' and click general. Name: randomDebris And select the 'per particle (array)' option then OK. It will appear under the 'per particle (array) attributes'. -Right click next to it in the window and then 'Creation Expression'.
In this expression we want to store a value on the particle so all the rocks look unique. Expression: particleShape1.randomDebris = rand(0,199); -Now go to the object index under 'general options' in the particleShape1. Scroll down to find randomDebris in the LUT. Now watch the explosion.
-Increase the rate by scaling the 2 top values in the graph editor. Up to 1000 so the count is now 400. -Create a new attribute, like the randomDebris, except call it randomScale and set as a vector. -Create new expression under this attribute (leaving the previous exp still in the box). particleShape1.randomScale = <<$scale, $scale, $scale>>;
-Above this, you have to create the value for the $ dollar sign. type: float $scale = rand(0.2,5)
This will randomize the scale of all rocks. -Now, link the expression to the instancer, (under the general options, under scale, select your randomScale attribute). -It will now scale your rocks uniformly, so they will still relatively look the same.
Make this code invisible by putting a /* at the beginning and a */ at the end of the expression.
So it should look like this: float $scale = rand(0.2,5) /* particleShape1.randomScale = <<$scale, $scale, $scale>>; */
and now type this underneath: particleShape1.randomScale = <<rand(0.3,0.5), rand(0.3,0.5), rand(2,4)>>;
This allows them to be randomised by all the translate fields. between the min and max values. Muck around with these numbers until you're happy.
Now do the same for a randomRotation attribute. Make it, write the code for the expression and link it up under the rotation options.
Under the expression editor, change particle to 'runtime before dynamics' and type in the clear field:
randomRotation +=5;
This means that on every frame, we are increasing the randomly rotated geo by 5 units. So if the randomRotation is 5 to begin with, the rock will rotate to 10 at frame 2 and 15 at frame 3. Play around and increase the value, and then put it into the final equation.
particleShape1.randomRotation += 25; (just an example)
Create a gravity field. -Change magnitude to 980.000. So now theres not enough force to get the particles above the ground. Increase the 'away from centre'. -Make the particle and the plane collide.
Create another expression: This will be tracking the position of the particle and tell it to stop spinning as soon as it gets one Maya unit away from the ground. vector $pos = position; if ($pos.y < 1) { randomRotation = 0; }
Under Solvers > Edit oversampling or cache settings'. -This allows you to change the sample rate of each frame. So, if 2, the inverse is .500 and this is what you need to set the playback speed to. -Change the playback speed to this amount in the settings. This will allow enough calculation to be rid of excess particles just falling into the abyss of Maya :D
Instancer animation. -In visor, select walk1 and drag it into the scene. -Animate > Create animation snapshot. Start frame 1.000 Frame 1. End Frame: 44.000 Frame 44. -Centre pivot of all geos and snap all to the centre of the grid and freeze the transformations. -Create a volume emitter. -Change away from centre to 0.000 -Click to select all your walk geos and create an instancer (replacement). -Rename walk. -Particle object to distance: ParticleShape1. Move emitter up 93 units so the people are walking on the plane at 0,0,0. On the instancer node also change the cycle to sequential and add the selected items and geo if need be.