Professional Documents
Culture Documents
During this tutorial we’ll explore a number of features of Maya’s dynamics toolset.
In part I - the ‘membrane pore tutorial’ - we’ll create a scene with a turbulent membrane that also
has a ‘pore’ dynamically floating in it. Next we’ll create a swarm of molecules that collide with the
membrane (and can otherwise only traverse it via the pore opening). We’ll gain finer control over
the behavior of individual molecules in the swarm through the use of expressions. Finally, we’ll
add goals to the entire swarm and control the degree to which these goals affect the swarm’s
movement.
In part II – the ‘blastocyst tutorial’ - we’ll look at how a piece of geometry can serve as a goal for
particles. Specifically, we’ll create a blastocyst-stage embryo made up of blobby particles
attracted to a sphere. We’ll control the behavior of these particles relative to the surface of the
sphere. For the finale, we’ll squeeze the blastocyst out of the zona pellucida surrounding it by
using a lattice deformer applied to the sphere.
Creation Options > Duplicate, make original soft Turning the NURBS plane membrane into a soft body
Check ‘Hide non-soft object’
Check ‘Make non-soft a goal’
Weight to 0.5 (default)
membraneTurbulence1.phaseX = time;
membraneTurbulence1.phaseY = time;
membraneTurbulence1.phaseZ = time;
Next we'll add some rotation and jiggly, random Sprites with shader applied.
movement to the molecules using MEL scripting.
spriteTwistPP = rand(0,360);
spriteTwistPP += rand(-2,2);
Click on 'Edit.'
Click on 'Edit.'
if (frame%5 == 0)
{
velocity = <<(rand(-2,2)), (rand(-2,2)), (rand(-2,2))>>;
}
Frame1:
Goal Weight [0] = 0.15 & Goal Weight [0] = 0
Frame360: The particles have 2 Locator goals applied – because these have
Goal Weight [0] = 0 & Goal Weight [0] = 0.3 identical goal weight values, the particles swarm to an
intermediate position
particleShape1.goalU = rand(1);
particleShape1.goalV = rand(1); Adding goalU and goal V attributes to the particle object
We can also add expressions to achieve other NURBS sphere populated with particles on its surface after
effects on our particles – for one, it might be nice adding an expression to the goalU and goalV attributes
(if creepy) to animate the movement of the
particles by offsetting them slightly from the
surface. For this we can create a runtime
expression (instead of a creation expression)…
for each frame of the animation, the expression
will ‘pick’ a random value to offset each
individual particle from the sphere surface.
particleShape1.goalOffset = rand(0.2);