Indoor grafitti
An animation concept I am working on. Work in Progress.
indoor grafitti from Petfactory on Vimeo.
An animation concept I am working on. Work in Progress.
indoor grafitti from Petfactory on Vimeo.
Some short notes on setting up a burning fuel streak in Maya using fluids.
First I create a 2D container and set the density and velocity to static. Set temp, fuel and color to dynamic. Then I paint the density and fuel. I add an emitter to ignite the fuel. I only emit heat.
Some notes on controlling the burning flame.
Dissipation: Controls the “drop off” of the heat. How fast the temperature cools down. Larger value will produce a short tail, lower gives a longer tail ( it takes longer for the temp to cool down)
Diffusion: We need a low number of diffusion to make the simulation run, but for aesthetic reasons we want to keep this value quite low. High values will produce a blurred result or diffused really :)
Heat Released: The heat that is released. Higher value will produce a stronger burn.
It´s been awhile since I played around with expressions and particles. I recently saw a video where a softbody was controlled with a fluid. The idea is to use the velocity of each voxel of the fluid to position the particles of the softbody. I want to recreate this setup and the first step is to learn how to position particles. I did some initial test with some expressions.
if (pPlane1ParticleShape.particleId == 0)
{
vector $pos = pPlane1ParticleShape.position;
pPlane1ParticleShape.position = <<$pos.x,$pos.y+2,$pos.z>>;
}
if (pPlane1ParticleShape.particleId == 3)
{
vector $pos = pPlane1ParticleShape.position;
pPlane1ParticleShape.position = <<$pos.x,2,$pos.z>>;
}
if (pPlane1ParticleShape.particleId == 12)
{
vector $pos = pPlane1ParticleShape.position;
pPlane1ParticleShape.position = <<$pos.x, frame,$pos.z>>;
}
To control from which verts particles arte emitted we can use pp emission rates.
Using pp exp is the smae as using on the old particle type. if you use the exp below to kill off particles below a certain y value make sure to turn on use pp in the lifespan attribute of the particleShape.
vector $pos = nParticleShape1.position; if ($pos.y < -2) nParticleShape1.lifespanPP = 0;
If you want to emit nParticles from other nParticles it is just to select thenParticles and then emit from object. This will push the source emitting nParticles forward by the collision of the emitted particles. To turn this behaviour off disable the collisions of the source (the emitting ) particle.
If forcefiled generation is turned on of the emitted particles tey will also propell the source emitting particle.
To make an nParticle just pass through an nCloth set the collision layer of the nParticle to something greater then the collision layer of the nucleus.
For instance the default collision layer range of a nucleus is 4 ( Nucleus>solver attributes>collision layer range). if we set the collision layer of the nCloth ( nClothShape>collisions>collision layer) to something greater then the collision layer range of the nucleus, they will not collide.
If you want to emit nParticles from other nParticles it is just to select thenParticles and then emit from object. This will push the source emitting nParticles forward by the collision of the emitted particles. To turn this behaviour off disable the collisions of the source (the emitting ) particle.
If forcefiled generation is turned on of the emitted particles tey will also propell the source emitting particle.
To make an nParticle just pass through an nCloth set the collision layer of the nParticle to something greater then the collision layer of the nucleus.
For instance the default collision layer range of a nucleus is 4 ( Nucleus>solver attributes>collision layer range). if we set the collision layer of the nCloth ( nClothShape>collisions>collision layer) to something greater then the collision layer range of the nucleus, they will not collide.