BLOG

Two different coloured smokes with Turbulence FD

I really like using Turbulance FD, it can produce some stunning results. Coupled with an NVIDIA card it is incredibly fast to sim and easy to experiment with.


For a while I have wanted to be able to mix different smokes together. While it does an amazing job of simulating flames, smoke and dust I couldn't work out how to mix smokes of different properties and colour.

I had achieved this with Blender by having two emmiters of different temperatures within one domain. I then used the temperature of the smoke to shade it different colours.


To do this in Turbulence FD I set up a domain that simulated both desnity and temperature emitters. The emitters where both set to 5 respectivly. 

You can only view one of the channels in the viewport. Once the sim is cached I duplicated the domain object and set one to render density and the other to render temperature. If the scene needed to be re-cached I would delete one domain first. I didn't try siming tww domains at once, but I guess it would crash cinema. 

 

Welter's Atmosphere C4D plugin

I find rendering planets in Cinema 4D can be a little tricky when trying to get the atmosphere right. Michael Welter, a talented C4D hobbyist has made an atmosphere shader for C4D. It's free, head over to his site to get it, along with some other really usefull plugns. 

www.welter-4d.de

I have been using his plugin for a teaser for an upcoming show on FOX8. With a bit of tweaking and diplacment on the cloud layer you can get some really nice shadows along the terminator. I took some screen grabs. It took me about a day to pull togther the rough setup.

Boids (flocking)

Boids where originally invented/described by Craig Reynolds, and presented at the 1987 SIGGRAPH. His original paper can be read here.

Boids particles are built into the Blender particle system, but if you are using Cinema 4D check out this awesome and free plugin, Flock Modifier.

Years ago when I was new to 3D and was using Blender I made some flocking bird (boids) particles for a DVD menu. I found the original project, its pretty basic. Here it is. Enjoy.


Bounce & Wiggle

These aren't mine, but easily my most used After Effects expressions.

"If you've ever animated these sorts of things manually, you'll know what I mean. Most will need to be tweaked to your specific needs, but it's just a matter of playing with the numbers a little, and understanding how they'll change your animation."

Jumpy Wiggle 1 makes wiggle skip and hold rather than move fluidly.

// Jumpy Wiggle 1 (moves at a random FPS)
v=wiggle(5,50);
if(v < 50)v=0;
if(v > 50)v=100;
v

Jumpy Wiggle 2 is similar to 1, but works at a defined FPS so your "jump" will happen at a regular pace.

// Jumpy Wiggle 2 (moves at a defined FPS)
fps=5; //frequency
amount=50; //amplitude
wiggle(fps,amount,octaves = 1, amp_mult = 0.5,(Math.round(time*fps))/fps);

Inertial Bounce is like making your moves "rubbery." Layers will overextend, then settle into place on position and rotation keyframes.

// Inertial Bounce (moves settle into place after bouncing around a little)
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time){
n--;
}
}
if (n == 0){
t = 0;
}else{
t = time - key(n).time;
}

if (n > 0){
v = velocityAtTime(key(n).time - thisComp.frameDuration/10);
amp = .05;
freq = 4.0;
decay = 2.0;
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
}else{
value;
}

Sometimes you just want something to move constantly without keyframing it. Use throw.

// Throw (move at a constant speed without keyframes)
veloc = -10; //horizontal velocity (pixels per second)
x = position[0] + (time - inPoint) *veloc;
y = position[1];
[x,y]

Same as throw, but for rotation.

// Spin (rotate at a constant speed without keyframes)
veloc = 360; //rotational velocity (degrees per second)
r = rotation + (time - inPoint) *veloc;
[r] 

by Chris Wright