crgreen.com
after effects scripts:
Feel free to make my day (heck, maybe even my week)
by donating some scratch for my attempts at helpful geekiness.
-
Mask
- Connect_Vertex_to_Point.jsx
- Allows the animation of individual mask vertices by
"linking" a vertex to any two-dimensional point property
(like position, track point attach point, "point"
expression control, etc).
updated 12-16-2007: improved to work with AE CS3! ('bout time!) - New! 10-23-2011 Connect_Point_to_Mask_Vertex.jsx
- Allows the animation of individual
two-dimensional point property (like position, track point
attach point, "point" expression control, etc) by
"linking" the point to an animated mask vertex. Pretty
much the inverted version of the above script.
- Separate_Masks_in_Layers.jsx
- Converts one selected layer with a bunch of masks
to a bunch of layers, each with one of the masks.
Includes the option to change each anchor point to the
center of each mask, preserving overall look.
updated 3-15-2007: Now with cool and rarely-needed automated layer-naming feature! - Mask_Selection_Helper.jsx
- Have you ever wanted to select a large number of masks,
on different layers, and change the masks' properties
(like feather, opacity, mode, etc. == but not the mask
shape itself*) all at once? This script (palette window)
might help. You can select all the masks in a comp, or all
masks whose names match a string, or by index.
[*I should point out that you can animate multiple mask shapes in this way, but only one value is entered per (key)frame, so it isn't practical for most applications.] - new! 10-23-2011 Rename_Selected_Layer_Masks.jsx
- Yet another renaming utility, this time for masks. Updated 1-12-2013 Version 1.2 fixes "tail wrong or ignored when removing number of characters from head and tail" bug.
-
Render
- Update 5-23-2018 Now with UI - best as a docked panel!
Please read the description, and note link to graphic.
Queue_Comp_Sections.jsx - This is sort of like having multiple work area settings for a comp. To use it, you must create guide layers whose inpoints and outpoints serve as render sections. Each "render layer" layer-name NOT beginning with an underscore ("_") will be used as that render item's output base name (e.g., "basename".mov, or "basename"_[#####].xxx if it is a file sequence). Layer names beginning WITH an underscore will be ignored, and the comp name will be used as the basename of the render queue item (AE's normal "add to render queue" behavior). Select the render layers you want to use, run the script, and it adds the items to the render queue. Now with a UI and best as a docked panel. See this graphic.
- Consolidate_Sequence_Renders.jsx
- Creates individual folders for each file sequence render item (and output module) in the queue. If you have 10 file sequences to render, for example, you can set them all to render to a single folder, then run this script; it will create separate folders for each file sequence and set the output modules automatically. If you have movies and still frames in the render queue, it will ignore these. The new folder's names are based on queue item and output module (like "qi1_om1", "qi2_om1", "qi2_om2", etc).
- List_Renders_in_Queue.jsx
- (Tip: don't delete your render items.) Having trouble finding a composition's render items in a crowded render queue? This script will show you where the render items are. Simple. Helpful. Or not.
-
3-D
- 1-19-2012 updated (to v3.5)
to work with newer SynthEyes exports, other minor
improvements.
3D_TrackedCamera_Preflight.jsx - (Formerly "PFPreflight") Performs several necessary and helpful preliminary tasks when using a comp newly built by either importing .ma data (exported by 3D camera-tracking software, like PFHoePro), or by jsx script (exported by newer versions of SynthEyes). This script presents a user interface for choosing and changing a number of options.
- Selected_as_Spine.jsx
- Creates a 'spine' from the selected layers by doing some expression and parenting tricks. What you end up with is an 'object' that bends and curls when you change just the x rotation of the base 'vertebra'. Pretty fun to play with, at least.
- 7-10-2009 Added comp-center placement for cube and cam,
and semi-intelligent camera placement
MakeCube-CRGmod.jsx - Ages ago someone named Nicholas White created a script
to build a box, and posted
it to aenhancers.com.
Recently I decided to modify it. I added a UI (that
accepts formulae! Ooo!) and made a few simple but
significant adjustments.
- new! Light_for_Selected_Plane.jsx
- Places a light that points at a specific (selected)
layer in 3D space (regardless of parenting).
- new! Camera_for_Selected_Plane.jsx
- Places a camera that points at a specific (selected)
layer in 3D space (regardless of parenting).
- New! 12-06-2010 CopyCatCam.jsx
- Select a camera. Run the script. Another camera
will appear which mimics the original camera in real
time. Every aspect exactly mimics the original
camera, regardless of parenting, auto-orienting, depth of
field, etc. The angle is handled by orientation
expression, the rotation is "protected" (made
unchangeable) by expression. The "ccc" camera (copycat
camera) will work in any comp, so you can copy or
cut the camera layer and paste it into any comp. Ccc
camera will mimic the original camera's position, angle,
zoom, depth of field, focus distance, aperture, and blur
level. Thanks for the idea, Jance!
- Updated 12-16-2014 to work with Element3D version 2 -- PLEASE UPDATE YOUR PLUGIN! (though it should also still work with v1.6) Nail_Element_to_Point.jsx
- Have you heard of the freakishly powerful plugin
"Element3D" from videocopilot.net?
This script helps with setting up an instance of Element
so that its world transform and group positions are based
on the (3D) position of another layer. Really convenient.
-
Text
- crg_Text_from_File.jsx
- Dan Ebberts
made a nifty script for importing a text file as text
layers. This script is based on that, but it goes a bit
further, giving you a few more options, like line
spacing, or creating just one text layer containing
all the text.
updated 3-29-2009: Now with "live leading" feature (expression-based adjustable line spacing option).
updated 1-20-2011: Now works with CS5.
updated 2-22-2013: - more sensible "live leading" feature (and null as parent). -
Utility
- Box Of Tricks is no longer available.
- Randomly_Enable_Selected_Layers.jsx
- A simple random layer activator. Turns layers off and on
randomly. Features: UI includes "weight slider" and choice
to either keep all your originally-selected layers
selected or to change the selection to just the layers
left on.
01-09-2016: Introduction. Version 1.0. - (important update!) Selected_Comps_Changer.jsx
- Select a bunch of comps and make changes to a number of
their settings all at once: name search & replace or
add, width, height, framerate, length, pixel aspect ratio,
shutter angle/phase, preserve framerate/resolution when
nested == it's (almost) all here!
02-08-2010 Version 2: removed panels to work around Windows bug; corrected other uglinesses on Windows.
09-21-2010 Version 2.1: No more name-length limit in CS4 or later.
12-06-2010 Version 2.2: FINALLY removes infinite hang renaming bug(s).
09-16-2014 Version 2.5: Adds 3D Renderer option.
- updated 09-21-2010 Selected_Layers_Renamer.jsx
- Quickly batch-rename selected layers in various ways.
Now with numbering feature!
09-21-2010 No more name-length limit in CS4 or later.
12-06-2010 Version .99: FINALLY removes infinite hang renaming bug(s).
1-12-2013 Version 1.1 fixes "tail wrong or ignored when removing number of characters from head and tail" bug.
- Project_Items_Renamer.jsx
- Quickly batch-rename selected items of any (rename-able)
kind in your project.
1-22-2010 FIXED INFINITE LOOP PROBLEM THAT COULD HAPPEN IN SOME INSTANCES.
09-21-2010 No more name-length limit in CS4 or later.
12-06-2010 Version 1.6: FINALLY removes infinite hang renaming bug(s).
1-12-2013 Version 1.8 fixes "tail wrong or ignored when removing number of characters from head and tail" bug.
- ReAnchor_Selected_Layers.jsx
- Great for preparation of cut-out style animation (see Dan
Ebberts' beautifully goofy dancing man). Designate
each layer's new anchor point with a single-vertex mask
(simply click on each layer with the pen tool [G key]
where you want each new anchor point to be), then run this
script. (CAVEAT: Works "out of the box" with unparented
layers whose scales are 100%. If not 100%, layers should
be all the same scale, and parented to a layer of exactly
the same scale. The script does not check for these
factors.)
- new! 8-20-2016 Better_Solid_Names.jsx
- If you would like to rename all or selected groups of
your project's Solids to reflect the Solids' dimensions,
use this. You can append the existing names or replace
them.
-
(AE Scripting) Development
- Comp_To_UI_package.zip
ATTENTION! I have hacked together a more powerful CS or CC ExtendScript UI-Builder called "Boethos". I suggest you CHECK IT OUT.
What have we here? This is for script developers only. It aids in rapidly developing user interface windows by using mock-ups created in After Effects itself. See a comp become a window before your very eyes! Comes with html documentation and an AE project with a mock-up example therein.
updated 3-15-2007: Now includes automatic position value rounding to avoid annoying floats.