Tutorial 204: 3D Visualizer

Joe Clay | Feb 20, 2020

In this tutorial, we're taking audio and using it to drive a setup similar to the one we made in Tutorial 166: Free 3D Terrain. By adding some simple expressions to Wave World's Frequency and Amplitude parameters in each producer, we can make our own visualizer. It's like a plane of water that is affected by sound.

While this can be done in vanilla AE by following our other tutorials, Tutorial 70: Pump up the Jam and Tutorial 162: Beat-based Time Shifting, we definitely would recommend Trapcode Sound Keys for best results.

That allows us to easily split of frequency ranges and make a more unique visualizer that can pulse with different elements of your audio.

Expressions

These are the expressions for using Sound Keys. If you're using vanilla AE, you'll need to normalize your audio (find the highest peak in your audio graph and divide by that) and then multiply by your amp/freq variable. The first one obviously goes in a producer's Amplitude parameter and the second one goes into Frequency.

amp = thisComp.layer("Controller").effect("Amplitude Multiplier")("Slider");
thisComp.layer("SoundKeys").effect("Sound Keys")("Output 1") * amp;
freq = thisComp.layer("Controller").effect("Frequency Multiplier")("Slider");
thisComp.layer("SoundKeys").effect("Sound Keys")("Output 1") * freq;

This is an experimental adjustment to the Wave Speed parameter. I ended up turning it off.

speed = thisComp.layer("SoundKeys").effect("Sound Keys")("Output 1");
value - (speed * .2);

Become a Patron

If you'd like to help support Workbench, check out our Patreon page. Thank you for even considering clicking this link to support what we're doing. We appreciate it. Patrons get all sorts of benefits, from additional files to early product releases depending upon the tier.

Check out our Patreon Today

Grab the Project Files

Get the project file through our Gumroad Store. This project file contains the After Effects file shown in the tutorial as well as all of the elements used to build it. Note: it does not contain the music as we cannot distribute it. This project file was built in AE 2020 but there's a legacy version that should work back to CC (15.X).

If you're buying project files, consider becoming a Patron. At the $5/mo. tier, you get access to project files as they come out and some tutorials also come with additional BTS content showing more of the builds.

Get the project on Gumroad

Tutorial 203: Quick Tips 08

Joe Clay | Feb 12, 2020

If you're curious about that Preserve Underlying Transparency thing, check this out. I think it might've also been in one of our quick tips before because it's useful to know about anyway.

And that's it. I hope you can find uses for these tips. They've all been helpful to me so I bet they'll help you. See you next time!

Become a Patron

If you'd like to help support Workbench, check out our Patreon page. Thank you for even considering clicking this link to support what we're doing. We appreciate it. Patrons get all sorts of benefits, from additional files to early product releases depending upon the tier.

Check out our Patreon Today

Tutorial 202: Depth Matte

Joe Clay | Jan 13, 2020

Sev, Andrew Embury, and I were working on a project using Redshift. For some reason, depth passes from Redshift are true depth passes—i.e. there's no info for focus. The depth is basically colored solely based on distance to camera.

Unfortunately, that means that keeping something in focus inside of After Effects is rather tedious since you can't just select a single grey value and be set. Instead, you have to keyframe the entire sequence so that your focus point is maintained. If you could tell Frischluft or Camera Lens Blur to stick to a point, then you could at least track a spot to keep in focus. Unfortunately, the focus selectors aren't keyframeable. So instead, I built my own workaround, as you'll see in this tutorial.

Expression Code

Here's the code to grab color from the center point of a mask. Remember to set up a Layer Control! Note, from the tutorial, I've removed the hardcoded [1280,720] and replaced it with [thisComp.width/2, thisComp.height/2] so you don't have to deal with that. If you have more than one mask on your layer, you might need to pick a different one when you set up the pt variable.

function getPoint(msk) {
    pts = msk.points();
    x = y = 0;
    for(i = 0; i < pts.length; i++) {
        x += pts[i][0];
        y += pts[i][1];
    }
    x = x/4;
    y = y/4;
    return [x,y];
}

L = effect("Layer Control")("Layer");
pt = getPoint(mask("Mask 1").maskPath) + [thisComp.width/2, thisComp.height/2];
L.sampleImage(pt, [10,10], true);

Apply the next expression to a Slider Control. I made it a Master Property to get its data to the parent comp, but since you should bake this expression anyway, you can just bake the slider and copy it to the main comp if you want. The Master Property setup is nice because it's easy to test it before you bake it and if you need to change it, you just turn the expression back on and then bake it again. And as I mentioned in the tutorial, if you invert your matte in your blur plugin you might be able to remove the 255 - bit.

255 - (content("Rectangle 1").content("Fill 1").color[0] * 255);

Become a Patron

If you'd like to help support Workbench, check out our Patreon page. Thank you for even considering clicking this link to support what we're doing. We appreciate it. Patrons get all sorts of benefits, from additional files to early product releases depending upon the tier.

Check out our Patreon Today

Tutorial 201: Ugly Sweater

Joe Clay | Dec 13, 2019

In this After Effects tutorial, we take a look at how to build an ugly sweater. We start off by drawing a single stitch, and then repeat that into a full grid. Vertically, we skip every other row because we're coloring these using a source comp that has Mosaic applied to it. However, our Mosaic covers those skipped sections. If we only had one layer of fabric, we'd see the edges.

So instead, we skip rows and then use another copy of our source comp with another Mosaic on it. It needs to match up with the alternated threads, so we move it up with an effect like Motion Tile or Offset so that we don't lose the edges of our source, then we apply Mosaic, and then we shift it back into place. Mosaic doesn't have a setting to shift its effect, so we shift the layer instead.

After that we continue to build our effect procedurally, using adjustment layers to build the background of the fabric from the foreground. We rough it up, and add some fuzz to it to make it more realistic. And then we call it a day.

Many people have created this effect, so look around and experiment to make your own. It's a fun exercise to recreate real-world objects and I'm glad I could share my process with you!

Become a Patron

If you'd like to help support Workbench, check out our Patreon page. Thank you for even considering clicking this link to support what we're doing. We appreciate it. Patrons get all sorts of benefits, from additional files to early product releases depending upon the tier.

Check out our Patreon Today

Grab the Project Files

Get the project file through our Gumroad Store. This project file contains the After Effects file shown in the tutorial. There's also a few extra pieces in it that weren't demonstrated. It was built in AE 2020 but there's a legacy version that should work back to CC (15.X).

If you're buying project files, consider becoming a Patron. At the $5/mo. tier, you get access to project files as they come out and some tutorials also come with additional BTS content showing more of the builds.

Get the project on Gumroad

Tutorial 200: Slice

Severo Ojea | Nov 15, 2019

This week, we took some inspiration from Damien Hirst and magnetic resonance imaging (MRI) in order to develop a slicing technique inside of Cinema 4D. We made use of Voronoi Fracture Objects in an unconventional way. Instead of using the default setup, we used a spline with evenly spaced vertices along with Plain Effectors to slice up a 3D model of a RED Epic Dragon from GrabCAD.

We rendered a few different different pieces using some different techniques with basically the same setup. One of the more interesting renders involved using the x-ray technique from Tutorial 192: Scan. Then we brought it all into After Effects to composite.

Using my renders, Joe changed colors, added glows, and retimed some elements. He also took the renders and matted them using time-shifted versions of the same layer to get other slices inside of AE to dress up the edges as the Epic reveals. And then he graded it.

Working together to build this tutorial is indicative of the new direction that we're heading in. Currently, we rarely work on tutorials together other than maybe for a thumbnail. We want to build more things together, instead of always working independently. And that's going to be a big part of this channel moving forward.

Catch you on the next one!

Grab the Project Files

Get the project file through our Gumroad Store. This project file contains everything shown in the tutorial. It also includes other elements used in the thumbnail and GIF animation as well as the LUT we used to grade the final look and the original and final 3D renders. The C4D file is R20+ because it requires fields.The After Effects project was built in AE CC 2020 but a version that works in 2018 is included.

If you're buying project files, consider becoming a Patron. At the $5/mo. tier, you get access to project files as they come out and some tutorials also come with additional BTS content showing more of the builds.

Get the project on Gumroad

Become a Patron

If you'd like to help support Workbench, check out our Patreon page. Thank you for even considering clicking this link to support what we're doing. We appreciate it. Patrons get all sorts of benefits, from additional files to early product releases depending upon the tier.

Check out our Patreon Today

Tutorial 199: Bit Growth

Joe Clay | Nov 4, 2019

My apologies to Josh Yeo. Go check out his channel! If you're interested in filming and you like what we do, I think you'd like him. Plus he's entertaining, and he's got a great shirt.

So in this week's After Effects tutorial, we take a look at a simple bit growth effect. It basically takes a greyscale map, uses Extract to animate it in, and then the look is achieved with Mosaic and Find Edges. You could also use CC Image Wipe to animate. Block Dissolve also works wonders for that as it makes the growth more labored and mechanical. Or you could even combine them using blend modes and then run Mosaic and Find Edges—or CC Kernel—in an adjustment layer.

There's a lot of flexibility in this technique, but what helps to sell it most is to set Find Edges to blend with the original, instead of using it at 100% intensity. That gives this look a depth it wouldn't normally have.

I also mentioned our Procedural Circuitry Tutorial so go check that out! It might give you ideas for other uses of this technique.

Expression Code

For the square mosaic, add this code to the vertical blocks setting. I don't remember why I made the variable f in the original, but I've changed it to w here and in the project file for width, since that's what it is.

w = 1920/effect("Mosaic")("Horizontal Blocks");
1080/w;

Grab the Project Files

Get the project file through our Gumroad Store. This project file contains everything shown in the tutorial. It also includes other elements used in the thumbnail and GIF animation as well as some mattes based on the technique, and a few other looks and setups. The After Effects project was built in AE CC 2019 but a version that works in 2017 is included.

If you're buying project files, consider becoming a Patron. At the $5/mo. tier, you get access to project files as they come out and some tutorials also come with additional BTS content showing more of the builds.

Get the project on Gumroad

Become a Patron

If you'd like to help support Workbench, check out our Patreon page. Thank you for even considering clicking this link to support what we're doing. We appreciate it. Patrons get all sorts of benefits, from additional files to early product releases depending upon the tier.

Check out our Patreon Today

Tutorial 198: Faking Waves

Severo Ojea | Oct 28, 2019

Creating water effects in Cinema 4D Does not always have to involve laborious simulations. Using simple tools you can easily create a dynamic toon-shaded wave animation. To see an excellent version of this technique, which we referenced for this tutorial, check out everfresh on twitter. There's some killer no-particle no-simulation work on that feed.

By displacing a plane using fields we'll build a wave. And then we'll add foam to the top of the wave by running two splines through the same setup and projecting them onto our wave surface using Magic Projector from Nitro 4D. We'll then clone spheres onto those splines, and then mesh the two together with VDB Mesher. With a simple material built using the Sketch and Toon cel shader in the luminance channel, we'll texture our foam. Then we'll finish it off by texturing the water using a simple noise setup—also in luminance.

And that's it. As you can see on everfresh's twitter, there's a lot of things that can be built using similar setups.

Grab the Project Files

Get the project file through our Gumroad Store. This project file includes the setup shown in the tutorial and an alembic cache. It's R20+ because we're using fields.

If you're buying project files, consider becoming a Patron. At the $5/mo. tier, you get access to project files as they come out and some tutorials also come with additional BTS content showing more of the builds.

Get the project on Gumroad

Become a Patron

If you'd like to help support Workbench, check out our Patreon page. Thank you for even considering clicking this link to support what we're doing. We appreciate it. Patrons get all sorts of benefits, from additional files to early product releases depending upon the tier.

Check out our Patreon Today

Tutorial 197: Lockdown

Joe Clay | Oct 18, 2019

If you happened to see Lockdown from Chris Vranos, the creator of Composite Brush, making the rounds lately, you might have been amazed. And then, if you're like me, the first question you had was, "yeah, but how good is it really?"

So to find out, I got a review copy of Lockdown from Chris and started to experiment. I did one initial test to figure out the process. And I discovered that Lockdown is pretty direct and clear for the most part, especially for a brand new plugin. Then I started working on this tutorial video. So you're basically learning along with me.

I made one recording at the outset, and then decided to run the track again. It was already pretty good but I wanted to see how I could improve it. At the time, I didn't know how to properly go back once I had locked down my track, so I restarted my recording. After talking with Chris, he pointed me to where he covers that in his tutorial.

So, final impressions? This thing is killer. It tracked nearly all black areas where the difference between most of the track points was a few points in RGB levels. With a properly lit object it tracks beautifully. In our second track—perhaps a little too lit—I demonstrate this. While that track had some tougher areas due to how much I moved my shirt, I still got a pretty decent track without much effort as you can see in the Supreme Burrito example below. As long as the spots you're tracking don't fold past each other, you should be good for most situations.

Chris has also told me that he's working on an update that should improve this already amazing tracker, the tracking filter—and the workflow including the filter. Judging by how improvements to Composite Brush have gone, I can't wait to see what comes next.

Glitchify from Cinema Spice was also used in this tutorial. Thanks Mikey!

Become a Patron

If you'd like to help support Workbench, check out our Patreon page. Thank you for even considering clicking this link to support what we're doing. We appreciate it. Patrons get all sorts of benefits, from additional files to early product releases depending upon the tier.

Check out our Patreon Today

Tutorial 196: Better Forklift

Joe Clay | Oct 11, 2019

Before watching this one, make sure you've seen Part 1! Again, Master Properties in After Effects enable us to make complex rigs. This week, instead of building our forklift in Affinity, we built a model in C4D. I built the initial model and lighting setup, and Sev set it up with Redshift lights for a clay render, and built puzzle mattes so that we could color our objects. By rendering a greyscale version, we can use the overlay blend mode to add both highlights and shadows. So essentially, we've separated our lighting from our colors so we can tweak colors pretty heavily in AE, as you have probably seen by the thumbnail.

In this particular setup, we'll take a look at adding in renders that contain motion—our wheels and tires in this case—as well as adding in keyframed shape animation that we tie to sliders for hydraulic lines on our forklift and shadows for the cab and forks. The fork shadow is pretty cool as it gets softer and then disappears as the forks are raised.

At the end, we also go over a bug I found in master properties. Although I can't figure out how to reproduce it. The gist of it is that sometimes if you add new controls—and I think it's especially likely if you reorder them as this has happened to me before—sometimes After Effects will bug out and the controls may stop working entirely, or one control will actually change another control in your setup. But there will also not be any feedback that it's changed something else. So they can invisibly affect each other. So keep an eye out for that. To fix it, you basically have to start a new comp and add properties to a new Essential Graphics Template.

So this will probably conclude our rigging tutorials for now, but I wouldn't close the book on it just yet.

Expression Code

Make sure to add all of the controls as necessary!

Retime an image sequence to an angle control

f = thisComp.layer("Controller").effect("Wheel Rotation")("Angle") % 60;
if(f < 0) {
    f += 60;
}
f /= 2;
f * thisComp.frameDuration;

Note: we used a 30 frame sequence to make up 60 degrees of travel. So instead of 1 degree per frame—which is what we'd normally render—we did 2 degrees of movement per frame.

Animate a keyframed path from 0-1 second to match a slider

lift = thisComp.layer("Controller").effect("Lift")("Slider")/100;
thisProperty.valueAtTime(lift);

Our slider is intended to go from 0-100 so mapping it from 0-1 second is easy. While AE can interpolate pretty well, you might need to extend that. Just keep in mind value at time is in seconds.

Animate a keyframed path from 0-4 seconds to match a slider

lift = thisComp.layer("Controller").effect("Lift")("Slider");
t = linear(lift, 0, 900, 0, 4);
thisProperty.valueAtTime(t);

The other expressions shown are variations of the above, and are going to change depending upon what you're building. And that's it for now!

Grab the Project Files

Get the project file through our Gumroad Store. This project file contains everything shown in the tutorial. It also includes other elements used in the thumbnail and GIF animation as well as the C4D models used to construct the shape layers—fair warning, the models are slammed together as we tried a lot of things. The After Effects project was built in AE CC 2019 but a version that works in 2018 is included. You might get a notice that you need a plugin or a font, but they aren't required to use this file. They're mainly used for the thumbnail.

If you're buying project files, consider becoming a Patron. At the $5/mo. tier, you get access to project files as they come out and some tutorials also come with additional BTS content showing more of the builds.

Get the project on Gumroad

Become a Patron

If you'd like to help support Workbench, check out our Patreon page. Thank you for even considering clicking this link to support what we're doing. We appreciate it. Patrons get all sorts of benefits, from additional files to early product releases depending upon the tier.

Check out our Patreon Today

Tutorial 195: Forklift

Joe Clay | Oct 3, 2019

Master Properties in After Effects enable us to make more complex rigs than we could previously. And because of that, we're going to talk about techniques to rig objects. We start with a simple cube that has some pretty cool behaviors. It can flatten into the ground, which means it comes with its own transition built-in. It can also be scaled without scaling its strokes.

Then we take a look at a rigged forklift. All of the colors have been linked to control layers so you can change the colors of the forklift if you desire. There's an Angle Control that lets us pick between the 4 isometric angles that the forklift can face, even though only two angles were ever illustrated. This is accomplished by scaling our shape layers horizontally to make up the other two angles. While that would normally change our lighting, we've built and rigged luminosity layers—using grey tones and the overlay blend mode—that can swap the lighting back so that the lighting direction doesn't ever change. The forks of the forklift are also rigged so that the main section moves up, and then the rest of the lift sections extend fully.

In short, there's a lot built into this tutorial, and a lot of the techniques are designed to be applicable to all sorts of rigs. For example, one of the expressions shows you how you can build a checkbox that can switch between two keyframes for a property. We use it to change the lighting of the luminosity layers, but you could use to to switch between keyframes on a path, or intensities of an effect. There's a lot of versatility here.

And the best part is that this is only part one. There will at least be a second tutorial, if not a third. The next one will focus on more efficient ways to build this sort of model if you were going to make a whole bunch of different rigs. We're going to show how to take an actual 3D model, render out a minimal amount of frames and yield even more complex animation, versatility, and speed. And there's also something interesting that I want to try, but haven't had a chance to build yet. So please, stay tuned! And if you didn't see Tutorial 188: Isopush, check it out! It's helpful for moving layers in isometric directions.

Expression Code

Make sure to add all of the controls as necessary! If you absolutely want to limit things like the transition slider we used, you can use linear() or clamp(). If you use it directly on the slider itself, you can force it to not pass 0 or 100, or whatever arbitrary number you'd like. For example, our Forklift goes up 800 pixels. Instead of building it for percentage, you could build it for pixel values so that you can more easily match other layers to the forklift. You can use an expression like clamp(value, 0, 800) on the slider to get a slider that only goes from 0-800. There are a lot of possibilities when it comes to rigging with expression controls! Use the expressions below as starting points to build your own rigs!

Scale an object but maintain the stroke width

value/(thisComp.layer("Controller").effect("Scale")("Slider")/100);

Add vertical movement to an object based on percentage

y = thisComp.layer("Controller").effect("Transition")("Slider") * 1.085;
value + [0, y];

Add vertical movement to an object based on percentage after a threshold

y = thisComp.layer("Controller").effect("Lift")("Slider");
y = ease(y, 30, 100, 0, 300);
value - [0, y];

Posterize an Angle Control

a = thisComp.layer("Controller").effect("Angle")("Angle") % 360;
if(a < 0) {
    a += 360;
}
a /= 360;
Math.floor(a * 4);

Even Checkbox

if(thisComp.layer("Controller").effect("Side")("Slider") % 2) { 0; } else { 1; }

Upper/Lower Checkbox

i = thisComp.layer("Controller").effect("Side")("Slider");
if(i == 0 || i == 3) { 1; } else { 0; }

Control visibility with a checkbox

thisComp.layer("Controller").effect("Upper")("Checkbox") * 100;

Control visibility with a checkbox (inverted)

(1-thisComp.layer("Controller").effect("Upper")("Checkbox"))*100;

Alternate between keyframes using a checkbox

check = thisComp.layer("Controller").effect("Even")("Checkbox");
thisProperty.valueAtTime(check);

Alternate between keyframes using a checkbox (inverted)

check = Math.abs(1-thisComp.layer("Controller").effect("Even")("Checkbox"));
thisProperty.valueAtTime(check);

And that's it for now! And don't forget to check out part two!

Grab the Project Files

Get the project file through our Gumroad Store. This project file contains everything shown in the tutorial. It also includes other elements used in the thumbnail and GIF animation as well as the Illustrator and Affinity Designer files used to construct the shape layers. The After Effects project was built in AE CC 2019 but a version that should open in 2018 is included. You might get a notice that you need a plugin or a font, but they aren't required to use this file. They're mainly used for the thumbnail.

If you're buying project files, consider becoming a Patron. At the $5/mo. tier, you get access to project files as they come out and some tutorials also come with additional BTS content showing more of the builds.

Get the project on Gumroad

Become a Patron

If you'd like to help support Workbench, check out our Patreon page. Thank you for even considering clicking this link to support what we're doing. We appreciate it. Patrons get all sorts of benefits, from additional files to early product releases depending upon the tier.

Check out our Patreon Today

123456789101112131415161718192021