# Tutorial 81: Smart Bar Graphs

## Joe Clay | Jul 28, 2017

This week, we go over a requested tutorial to lock items to the end of a bar graph. Since this uses a nifty way to determine the lengths of the bars, you can use real world data. Set up your Max Value slider to your largest data point, and set each bar's Value slider to its actual data point. Adjusting your Max Length will adjust how long the bars will display. I would recommend setting up one, and then making a control layer with sliders to link to Max Value, Max Length, and Thickness so you can control all of those parameters of the entire graph at once—especially if you have a lot of data points!

Patrons can find the links to the preset, and a Quiver expression file in the respective folders, but I'll also put up a quick post with direct links!

If you're building this yourself, here are the expressions used in this tutorial:

``````//Apply to Rectangle Size
val = effect("Value")("Slider");
maxVal = effect("Max Value")("Slider");
maxLength = effect("Max Length")("Slider");
thickness = effect("Thickness")("Slider");
length = val/maxVal*maxLength;
horizontal = effect("Horizontal")("Checkbox");
if(horizontal > 0) {
[length,thickness];
} else {
[thickness,length];
}``````
``````//Apply to Rectangle Position
horizontal = effect("Horizontal")("Checkbox");
if(horizontal > 0) {
offset = content("Rectangle 1").content("Rectangle Path 1").size[0]/2;
[offset,0];
} else {
offset = content("Rectangle 1").content("Rectangle Path 1").size[1]/-2;
[0,offset];
}``````
``````//Apply to Position point expression control
horizontal = effect("Horizontal")("Checkbox");
x = content("Rectangle 1").content("Rectangle Path 1").size[0];
y = content("Rectangle 1").content("Rectangle Path 1").size[1];
if(horizontal > 0) {
[x,0];
} else {
[0,-y];
}``````

For layers/nulls that you want to connect to the end of the bar, parent them to the bar layer. Then add this expression to the position property:

``````//Apply to postion property
this.parent.effect("Position")("Point")+value; //set the value of position to 0,0 to lock to the edge of the bar``````

## Become a Patron

If you'd like to help support Workbench, check out our Patreon page. For \$5 a month, you get access to all of the tutorial project files we've made available as well as other monthly projects, rigs, R&D, elements, early product previews, and BTS content not available anywhere else!

# Tutorial 80: Auto-scale Trimmed Paths

## Joe Clay | Jul 20, 2017

This week, we take a quick look at an expression that will automatically scale Stroke Width when the length of the stroke is below a certain threshold so our trimmed strokes don't just pop on or off.

Here's the relevant code that we apply to the Stroke Width property of any strokes we want to scale. This expects a Trim Paths placed outside any shape groups—it should be under the main Contents of your shape layer.

``````ramp = 5;
start = content("Trim Paths 1").start;
end = content("Trim Paths 1").end;
length = Math.abs(start-end);
if(length < ramp) { ease(length,0,ramp,0,length/ramp*value)  } else { value }``````

## Become a Patron

If you'd like to help support Workbench, check out our Patreon page. For \$5 a month, you get access to all of the tutorial project files we've made available as well as other monthly projects, rigs, R&D, elements, early product previews, and BTS content not available anywhere else!

# Tutorial 79: Procedural Mattes

## Joe Clay | Jul 14, 2017

This week, we're exploring a technique to make a procedural grid matte to use as an element, a track matte, or a displacement map. I'm sure there's a ton of other stuff you can do with this technique. It also pairs nicely with Tutorial 77: Glitchy Dot LED Thing.

You can add in other lines with effects like Venetian Blinds, or even combine it with Tutorial 67:Glitch Mapping. Hell, while you're at it, you might want to check out our Glitchy YouTube playlist and just throw all of that stuff together. We've got a couple of playlists up for specific topics like this.

I also quickly explain what I did to make this image. But that part is just a bonus, it's not a step by step tutorial—making the matte is the meat of this one. I used a texture I generated in JSPlacement and a LUT from IWLTBAP to make this image. Make sure to check those two out! And as always, thank you for watching!

## Become a Patron

If you'd like to help support Workbench, check out our Patreon page. For \$5 a month, you get access to all of the tutorial project files we've made available as well as other monthly projects, rigs, R&D, elements, early product previews, and BTS content not available anywhere else!

# Tutorial 78: Unconventional Bouncing Boxes

## Joe Clay | Jul 7, 2017

This week, we're looking an an interesting interaction between offset paths and open path shapes. It allows us to make simple strokes into stroked shapes. It can definitely be taken further than this and I encourage you to do so. For example if you want to have a bunch of offset lines that won't work with a repeater (like complex curves or lines that change angles) you can use multiple offsets to make additional strokes spaced perfectly apart that can be trimmed. And if you link the paths in each one together, you can edit it all with one path.

You'll just have to modify your trims so that they go out from the center—begin with start and end set to 50% and then end with start set to 0% and end set to 100%. Then adjust your offset to compensate. If you don't want the ends closing, you can trim them or mask them separately.

Experiment. Good things happen.

Also, we've released StackIt so check that out! Youtube user Neckless won a free copy by spotting my hidden youtube joke! I think I'll do more of these fun giveaways in the future. So stay sharp!

## Become a Patron

If you'd like to help support Workbench, check out our Patreon page. For \$5 a month, you get access to all of the tutorial project files we've made available as well as other monthly projects, rigs, R&D, elements, early product previews, and BTS content not available anywhere else!

# Tutorial 77: Glitchy Dot LED Thing

## Joe Clay | Jun 30, 2017

This week we take a look at making some quick LED-style dots that can be used in a variety of ways—from just making an LED look, to making random dots for background elements. There's a couple of useful tips thrown about in there, like how to break your comps up into even squares and an expression for staccato movement. It's altered a little below with notes in case you need more guidance.

``````f = 3; //number of frames for each evolution step
e = 20; //degrees to evolve each step
t = Math.floor(time/thisComp.frameDuration/f);
t*e;``````

If your Grid isn't lining up, set Anchor in the Grid Effect to 0,0. With certain values it seems to not line up for some reason.

If you need a refresher on how the displacement map calculations work, check out out Tutorial 67: Glitch Mapping. And don't forget to check out JSplacement!

## Become a Patron

If you'd like to help support Workbench, check out our Patreon page. For \$5 a month, you get access to all of the tutorial project files we've made available as well as other monthly projects, rigs, R&D, elements, early product previews, and BTS content not available anywhere else!

# Tutorial 76: Preserve Transparency

## Joe Clay | Jun 23, 2017

This week, we're talking about a little switch in After Effects that you might have overlooked for quite some time. But it can be useful for compositing things together when you need more complex transparency or if you need to build up transparency through multiple layers (like if you had a lot of shapes animating in separate layers and you want to fill them with a texture or two in a single comp). It's also helpful when you want to see the top layers instead of just their alpha channels. Preserve Transparency is another small but useful tool for your toolbox.

## Become a Patron

If you'd like to help support Workbench, check out our Patreon page. For \$5 a month, you get access to all of the tutorial project files we've made available as well as other monthly projects, rigs, R&D, elements, early product previews, and BTS content not available anywhere else!

# Tutorial 75: Breakout

## Joe Clay | Jun 16, 2017

If you need a quick way to make blinking boxes for glitches or whatever, this technique is a super quick way to do it. All you have to do is draw some quick shape paths, throw some noise on them and cover them with mosaic and you're all set.

## Become a Patron

If you'd like to help support Workbench, check out our Patreon page. For \$5 a month, you get access to all of the tutorial project files we've made available as well as other monthly projects, rigs, R&D, elements, early product previews, and BTS content not available anywhere else!

# Tutorial 74: 3D Book

## Joe Clay | Jun 9, 2017

This week we go over a really quick technique Sev made to make a 3D-ish book in After Effects. This could probably also be combined with some sort of warp or distort effect to get a book that lays open. There are some collisions in the project file (where a page goes through another) but at most framerates, you'll never notice it. If you have an issue with it, either add frames in between each move until it's perfect, push each layer farther back in 3D space (modify the expression on position), add 2D layers in between the 3D layers so they can't interact, or precomp the pages with their moves and then comp them together.

We hope this helps you guys! Thanks for watching!

## Become a Patron

If you'd like to help support Workbench, check out our Patreon page. For \$5 a month, you get access to all of the tutorial project files we've made available as well as other monthly projects, rigs, R&D, elements, early product previews, and BTS content not available anywhere else!

# Tutorial 73: Quick Tips 04

## Joe Clay | Jun 2, 2017

This week we look at volume four of our quick tips. Here's timecode for the various tips:

• 0:13 - Guide layer audio to avoid doubling audio
• 1:06 - Removing guides without rulers
• 1:20 - Equalize values (size, scale, etc.)
• 1:50 - Another way to reverse/stretch keys (though not an exact reverse)
• 2:50 - Make a quick sphere with sunlight
• 3:10 - Use the search box
• 4:18 - Get min/max values using the graph editor
• 4:54 - Select a ton of keyframes without slowing the UI down a ton
• 5:26 - Command + drag to move in 1/10th increments
• 5:44 - Bug eye effect with CC HexTile

I hope these help you to work faster and thanks to everyone who improved upon the tips I had!

## Become a Patron

If you'd like to help support Workbench, check out our Patreon page. For \$5 a month, you get access to all of the tutorial project files we've made available as well as other monthly projects, rigs, R&D, elements, early product previews, and BTS content not available anywhere else!

# Tutorial 72: Text Animator Modes

## Joe Clay | May 26, 2017

Every time I mess around with text animators, I find something else useful. This week, I played a bit with the modes to get an idea of how they can combine—to see what's possible. I didn't have a much time to explore as I would have liked, so pardon the decidedly uncool examples in this one, but my hope is that—as always—you'll take it and run with it. Just make sure you hit me up @workbench_tv if you make anything cool (or if you have any clue as to what can be done with the Min or Max modes)!

## Become a Patron

If you'd like to help support Workbench, check out our Patreon page. For \$5 a month, you get access to all of the tutorial project files we've made available as well as other monthly projects, rigs, R&D, elements, early product previews, and BTS content not available anywhere else!