View LoopExpression.jsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Loop Expression - Created by Animoplex: www.animoplex.com | |
// Basic loop expressions for use on a property in After Effects. | |
// Full Tutorial: https://www.youtube.com/watch?v=XRrs9pvWGuY | |
// Loop Examples | |
loopOut("cycle", 0) // Repeat from start to finish. Default loop mode. | |
loopOut("pingpong", 2) // Loops last three keyframes back and forth. | |
loopOut("offset", 0) // Repeats animation using last keyframe as new start point. | |
loopOut("continue") // Does not loop, but continues onwards with current velocity. |
View PseudoEffectXML.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Pseudo Effect Via XML - Example File | |
// Full Tutorial: https://www.youtube.com/watch?v=pHwBOFZgKcs&t=296s | |
// Edit the PresetEffects.xml for your version of After Effects to add Pseudo Effects. | |
// XML File Location on Windows: | |
// Program Files > Adobe > After Effects (Version) > Support Files | |
// XML File Location on OSX: | |
// Apps > After Effects > Right-click After Effects.app > “Show Contents” > Contents > Resources |
View InertialBounce.jsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Inertial Bounce - Created by Animoplex: www.animoplex.com | |
// Original Version: http://www.graymachine.com/top-5-effects-expressions/ | |
// Modified expression for a smoother bounce effect and easier editing. Use this on any property with two keyframes to get a nice bounce effect that is based on velocity of the value change. Perfect for a scale from 0 to 100 or a speedy rotation that needs some extra life. Adjust amp, freq and decay values to tweak the effect. Amp is intensity, freq is bounces per second, and decay is the speed of decay, slow to fast. | |
// Full Tutorial: https://www.youtube.com/watch?v=653lxeVIyoo | |
amp = 5.0; freq = 2.0; decay = 4.0; | |
n = 0; | |
if (numKeys > 0) { | |
n = nearestKey(time).index; |
View EnhancedYouTubeEmbed.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- Enhanced Youtube Embed Code for Motion Portfolios - Created by Animoplex | |
Features: Responsive-width player, removes tracking cookies, changes red controls to white, reduces YouTube branding | |
How to use: Replace the standard YouTube iframe embed code with the code below and add your YouTube video ID --> | |
<div style="width:100%; max-width:960px;"> | |
<div style="position:relative; height:0; padding-bottom:56.25%;"> | |
<!-- Video size ratio calculation: 1080px / 1920px = 0.5625 (16:9) --> | |
<iframe | |
style="position:absolute; width:100%; height:100%;" | |
src="https://www.youtube-nocookie.com/embed/YOUTUBEVIDEO?autoplay=1&color=white&modestbranding=1&rel=0" |
View MarkerSyncExpression.jsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Marker Sync Expression | |
// Modified expression based on Dan Ebbert's Marker Sync Expression | |
// Original Version: http://www.motionscript.com/design-guide/marker-sync.html | |
// Full Tutorial: https://www.youtube.com/watch?v=B_3XS2-VWOM&t=698s | |
src = comp(name).layer("Markers"); | |
n = 0; | |
if (marker.numKeys > 0) { | |
n = marker.nearestKey(time).index; | |
if (marker.key(n).time > time) { |
View AdvancedWiggleExample.jsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Advanced Wiggle Example - Created by Animoplex: www.animoplex.com | |
// The full expression from Lesson 507 which builds an advanced wiggle expression using a pseudo effect. | |
// Full Tutorial: https://www.youtube.com/watch?v=b4AAkT2Xuio&t=17s | |
src = effect("Wiggle Control"); | |
tog = src("Toggle"); | |
if (tog == true) { | |
freq = src("Frequency"); | |
amp = src("Amplitude"); | |
val = wiggle(freq, amp); |
View SampleLumaValue.jsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Sample Luminance Value - Created by Animoplex: www.animoplex.com | |
// Samples the luma value of a defined area and converts to a specified value within a range. | |
// Use samplePoint to specify luma location | |
// Use sampleSize to adjust the sample area | |
// Last line: 0 - 1 is input, 0 - 100 is output | |
// Full Tutorial: https://www.youtube.com/watch?v=QkqiaPZJa1Y&t=62s | |
target = comp("SOURCE COMP").layer("SOURCE LAYER"); | |
samplePoint= [960,540]; // Sample location | |
sampleSize= [50,50]; // Sample area (in pixels) |
View DelayedOffset.jsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Delayed Offset - Created by Animoplex: www.animoplex.com | |
// Delays an animation based on the layer above and the frames to delay. | |
// NOTE: Looks for an identical transform property on the layer above. | |
// NOTE: To change, replace "transform(thisProperty.name)" with your desired effect. | |
delay = 10; // Frames To Delay | |
above = thisComp.layer(index - 1).transform(thisProperty.name); | |
above.valueAtTime(time - framesToTime(delay)) |
View SimpleTriggerFade.jsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Simple Trigger Fade - Created by Animoplex: www.animoplex.com | |
// Repeat a fade animation multiple times using markers to trigger the animation. | |
// Full Tutorial: https://www.youtube.com/watch?v=B_3XS2-VWOM | |
fadeFrames = 30; m = 0; t = time; | |
if (marker.numKeys > 0) { | |
m = marker.nearestKey(time).index; | |
tag = marker.key(m).comment; | |
if (tag == "In") { t = marker.key(m).time - time } | |
else if (tag == "Out") { t = time - marker.key(m).time } |
View EvaluateTextLayer.jsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Evaluate Text Layer - Created by Animoplex: www.animoplex.com | |
// Read and execute an expression from a text layer in After Effects. | |
// Note: Evaluated quotation marks must be straight quotes, not curly quotes. | |
// Full Tutorial: https://www.youtube.com/watch?v=Wkr_XOpsAFU&t=19s | |
eval(thisComp.layer("Text Layer 1").text.sourceText.value); |
NewerOlder