music: toxic love affair - snacks remix edit - IVAR, sanguita, snacks
fairtrade - zeit für faire schokolade - sweet revolution spot (2024)
telekom in flight connectivity - three animated spots (2023)
herzklappeninsuffizenz (2017)
wdr markt (2016)
music: shout - c2c remix
music: le carnaval des animaux, aquarium, camille saint-saëns
graduation film (in cooperation with christian
kaufmann)
// Auto Fade from ‰;
dur=10/25;
(time < inPoint+dur)?easeOut(time,inPoint,inPoint+dur,.01*value,value):easeIn(time,outPoint-dur,outPoint,value,.01*value)
// Auto Fade from 0;
dur=10/25;
(time < inPoint+dur)?easeOut(time,inPoint,inPoint+dur,0,value):easeIn(time,outPoint-dur,outPoint,value,0)
// Loop Expression;
loopOut("pingpong");
loopOut("offset",2);
loopOutDuration("cycle",3);
// Auto-Mask;
offset=[0,0];
expandX=10;
expandY=10;
createPath(points = [
[0,0]+[-expandX,-expandY]+offset,
[width,0]+[expandX,-expandY]+offset,
[width,height]+[expandX,expandY]+offset,
[0,height]+[-expandX,expandY]+offset
], inTangents = [], outTangents = [], isClosed = true)
// Auto-Text-Mask;
mX=10;
mY=mX;
t=inPoint+0.5*(outPoint-inPoint);
createPath(points = [
[sourceRectAtTime(t).left-mX,sourceRectAtTime(t).top-mY],
[sourceRectAtTime(t).left+sourceRectAtTime(t).width+mX,sourceRectAtTime(t).top-mY],
[sourceRectAtTime(t).left+sourceRectAtTime(t).width+mX,sourceRectAtTime(t).top+sourceRectAtTime(t).height+mY],
[sourceRectAtTime(t).left-mX,sourceRectAtTime(t).top+sourceRectAtTime(t).height+mY]
], inTangents = [], outTangents = [], isClosed = 1)
// Tracer;
layerToTrace = thisComp.layer("mover");
framesToTrace = 25;
samplesPerFrame = 1;
pointArray = new Array(0);
inTangArray = new Array(0);
outTangArray = new Array(0);
for (i=0; i < framesToTrace*samplesPerFrame; i++) {
{var p = layerToTrace.transform.position.valueAtTime(i*1/(1/thisComp.frameDuration)/samplesPerFrame);}
pointArray.push(p);
inTangArray.push([0,0]);
outTangArray.push([0,0]);
}
createPath(points = pointArray,
inTangents = inTangArray,
outTangents = outTangArray,
isClosed = 0)
// Random Color / Zufallsfarbe;
seedRandom(index,true)
hsl=random([0,.75,.5,1],[1,1,1,1]);
hslToRgb(hsl)
// Comp-Framerate;
1/thisComp.frameDuration
// Center AnchorPoint Vertically / Ankerpunkt Vertikal Zentrieren;
[value[0],sourceRectAtTime(outPoint).top + sourceRectAtTime(outPoint).height/2]
// Ausrichtung auf Pfad / Orient to Path Tangent;
pathToTrace=("Pfad");
progress=linear(time,0,1,0,1);
pathTan=pathToTrace.tangentOnPath(progress);
radiansToDegrees(Math.atan2(pathTan[1],pathTan[0]))
// Punkt auf Pfad / Pfad verfolgen / Point on Path;
pathToTrace=("Pfad");
progress=linear(time,0,1,0,1);
pathToTrace.pointOnPath(progress)
// Position von Pfadpunkt auslesen;
n=1;
pathToTrace=("Pfad");
pathToTrace.path.points()[n]
// Farbe dunkler / Darker Color;
hslToRgb(rgbToHsl(value)+[0,0,-.1,0])
// Doppelpfeil;
l=20;
createPath(points = [
[-4*l,0*l],
[-2*l,-2*l],
[-2*l,-1*l],
[2*l,-1*l],
[2*l,-2*l],
[4*l,0*l],
[2*l,2*l],
[2*l,1*l],
[-2*l,1*l],
[-2*l,2*l]
], inTangents = [], outTangents = [], isClosed = 1)
// Rounded Rectangle Runde Ecken;
u=20;
t=10;
o=anchorPoint;
createPath(points = [
[-5*u,0]+o, [ 5*u,0]+o, [ 6*u,1*u]+o, [6*u,3*u]+o, [5*u,4*u]+o, [-5*u,4*u]+o, [-6*u,3*u]+o, [-6*u,1*u]+o
], inTangents = [
[-t,0], [0,0], [0,-t], [0,0], [t,0], [0,0], [0,t], [0,0]
], outTangents = [
[0,0], [t,0], [0,0], [0,t], [0,0], [-t,0], [0,0], [0,-t]
], isClosed = 1)
// Mirror IN keyframes when layer ends;
keyFrameSpacing=key(numKeys).time-key(1).time;
if(time <= key(numKeys).time) value
else valueAtTime(linear(time,outPoint-keyFrameSpacing,outPoint,key(numKeys).time,key(1).time))
// Punkt um Kreis / Position Around Circle;
center=position;
radius=effect("radius")(1);
angle=degreesToRadians(effect("winkel")(1));
x=radius*Math.cos(angle);
y=radius*Math.sin(angle);
add(center, [x,y]);
// Straighten paths;
var gridSize = effect("gridSize")(1);
var origPath = content("Path initial").path;
var origPoints = origPath.points();
var origInTang = origPath.inTangents();
var origOutTang = origPath.outTangents();
pointsNum = origPoints.length;
meshPoints = new Array(0);
for(i = 0; i < pointsNum; i++){
p = origPoints[i];
x = (p[0]/gridSize).toFixed(0) * gridSize;
y = (p[1]/gridSize).toFixed(0) * gridSize;
pMesh = [x,y];
meshPoints.push(pMesh);
}
createPath(meshPoints,origInTang,origOutTang,origPath.isClosed());
// Tausenderpunkt Dezimalpunkt Komma comma decimal point;
num = effect("Slider")(1).value.toFixed(0);
function addCommas(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
addCommas(num)
// Text replace;
s = s.replace(".",",");
// Typewriter Effect;
Nachricht: var sign = "|";
var blinkInterval = 8; // edit the blinking interval in frames
// slider with text length
var i = effect("Text")("ADBE Slider Control-0001");
// checkbox to turn the cursor on and off
var on = 1;
var frames = timeToFrames(time);
var check = frames / blinkInterval;
if (on == 1) {
if (i.valueAtTime(time + thisComp.frameDuration) > i) {
end = sign;
} else {
if (Math.floor(check) % 2 == 0) {
end = sign;
} else {
end = " ";
}
}
} else {
end = " ";
}
text.sourceText.substr(0,parseInt(i)) + end;
// Perfect circle / perfekter Kreis;
var r = 100;
var tL = 0.55191502449 * r; //tangentLength;
var center = [0,0];
createPath(points = [
center + [0,-r],
center + [r,0],
center + [0,r],
center + [-r,0],
], inTangents = [
[-tL,0],
[0,-tL],
[tL,0],
[0,tL],
], outTangents = [
[tL,0],
[0,tL],
[-tL,0],
[0,-tL],
], isClosed = 1)
// Slice array;
threeValueArray.slice(0,2)
// Smooth expression;
value.smooth(timespan, keyframes/samples)
value.smooth(25/25, 25)
// Point on sphere // Punkt auf Kugel // Navigation // Koordinaten;
center = value;
radius = effect("radius")(1);
latitude = effect("latitude")(1);
longitude = effect("longitude")(1);
latRad = degreesToRadians(latitude);
lonRad = degreesToRadians(longitude);
x = radius * Math.cos(latRad) * Math.cos(lonRad);
y = radius * Math.sin(latRad);
z = radius * Math.cos(latRad) * Math.sin(lonRad);
[center[0] + x, center[1] - y, center[2] + z]
//DIN A4 Papier // paper;
factor=1.0;
x=210*factor;
y=297*factor;
ecke=60*factor;
createPath(points = [
[x,0]+[0,ecke],
[x,y],
[0,y],
[0,0],
[x,0]+[-ecke,0],
[x,0]+[-ecke,ecke],
[x,0]+[0,ecke],
[x,0]+[-ecke,0]
], inTangents = [], outTangents = [], isClosed = 0)
// Self reference in shape layer // Name;
i = thisProperty.propertyGroup(1).name.split(" ")[1];
// Auto-orient Y-Axis only;
delta = toWorld(anchorPoint) - thisComp.activeCamera.toWorld([0,0,0]);
radiansToDegrees(Math.atan2(delta[0],delta[2]))
// Sample Image Color;
target = thisComp.layer("background");
target.sampleImage(transform.position, [0.5,0.5], true, time)
// Grid Positions // Raster;
n=name.split("_")[1];
distX=120;
distY=120;
lineMax=16;
row=Math.floor(n/lineMax);
xPos=n%lineMax*distX;
yPos=row*distY;
[xPos,yPos]
// Swing Pendulum with decay;
veloc = 1.5;
amplitude = 10;
decay = 0.0;
amplitude*Math.sin(veloc*(time-inPoint))/Math.exp(decay*(time-inPoint))
// Swing
duration = 1;
amplitude = 5;
timeOffset = 0;
freq = 1 / duration;
timeFactor = freq * 2 * Math.PI;
amplitude * Math.sin(timeFactor * (time - timeOffset))
// Layer Only Visible When Facing Camera;
try{
toCompVec([0, 0, 1])[2] > 0 ? value : 0
}catch(error){
value;
}
// Loop Wiggle;
freq = 1;
amp = 110;
loopTime = 3;
t = time % loopTime;
wiggle1 = wiggle(freq, amp, 1, 0.5, t);
wiggle2 = wiggle(freq, amp, 1, 0.5, t - loopTime);
linear(t, 0, loopTime, wiggle1, wiggle2)
// Display Name Of Next Visible Layer Below;
txt = "";
for (i = index+1; i <= thisComp.numLayers; i++){
L = thisComp.layer(i);
if (! (L.hasVideo && L.active && L.opacity > 0)) continue;
txt = L.name;
break;
}
txt
// Constant stroke width while scaling;
value*(100/transform.scale[0])
// Constant stroke width while scaling while layer has parent;
if(hasParent){
if(parent.hasParent)
value*(1/(parent.parent.transform.scale[0]/100*parent.transform.scale[0]/100*transform.scale[0]/100))
else
if(hasParent)
value*(1/(parent.transform.scale[0]/100*transform.scale[0]/100))}
else
value*(100/transform.scale[0])
// Text Line Break;
“txt” + “\r” + “txt”
// Inertial Bounce (moves settle into place after bouncing around a little);
amp = .1;
freq = 2.0;
decay = 3.0;
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);
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
}else{
value;
}
// Bounce Back (Dan Ebberts);
e = .7;
g = 5000;
nMax = 9;
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time) n--;
}
if (n > 0){
t = time - key(n).time;
v = -velocityAtTime(key(n).time - .001)*e;
vl = length(v);
if (value instanceof Array){
vu = (vl > 0) ? normalize(v) : [0,0,0];
}else{
vu = (v < 0) ? -1 : 1;
}
tCur = 0;
segDur = 2*vl/g;
tNext = segDur;
nb = 1; // number of bounces
while (tNext < t && nb <= nMax){
vl *= e;
segDur *= e;
tCur = tNext;
tNext += segDur;
nb++
}
if(nb <= nMax){
delta = t - tCur;
value + vu*delta*(vl - g*delta/2);
}else{
value
}
}else
value
// Speed And Frequency Control (Frame by Frame);
spd = effect("Slider Control")("Slider");
accum = 0;
for (i = timeToFrames(inPoint); i <= timeToFrames(time); i++){
accum += spd.valueAtTime(framesToTime(i));
}
value + accum*thisComp.frameDuration
// Cut Text String;
cut = 4;
len = text.sourceText.length – cut;
text.sourceText.substr(0,len)
// 2D Look At Orientation;
aPos= [0,0] ;
bPos= [1,1] ;
vector=aPos-bPos;
radiansToDegrees(Math.atan2(vector[1],vector[0]))
// 3D Look At Orientation;
lookAt( [0,0,0] , [1,1,1] )
// Round Decimals - Dezimalstellen Runden;
(value).toFixed(2)
// Point vs. Comma - Punkt vs. Komma;
t= INPUT ;
d=100;
x=Math.round(t*d)/d
x.toString().replace(".",",")
// Try-Catch;
try{
thisLayer.effect(1)(1)
}catch(error){
value;
}
// Penner Eases - Horizontal Layer Move IN&OUT - No Keyframes;
duration=1;
softness=5;
w=sourceRectAtTime(time).width;
h=sourceRectAtTime(time).height;
midPoint=inPoint+(outPoint-inPoint)/2;
EaseIn = function(softness){return function(t){return Math.pow(t, softness)}};
EaseOut = function(softness){return function(t){return 1 - Math.abs(Math.pow(t-1, softness))}};
driverIn=EaseOut(softness)(linear(time,inPoint,inPoint+duration,0,1));
driverOut=EaseIn(softness)(linear(time,outPoint-duration,outPoint,0,1));
x=(time<midPoint)?
linear(driverIn,0,1,-w/2,value[0]):
linear(driverOut,0,1,value[0],thisComp.width+w/2);
[x,value[1]]
// CC RepeTile Fill Comp;
cW=thisComp.width;
lW=transform.scale[0]/100*width;
wFill=(cW-lW)*50/transform.scale[0];
cW=thisComp.height;
lW=transform.scale[0]/100*height;
wFill=(cW-lW)*50/transform.scale[0];
// Random Evolution Custom Framerate;
seedRandom(Math.round(time*5),1)
random(0,1)
// Interpolate through an array;
options = [
0,
2,
4,
6,
8
];
input = value;
t = clamp(input, 1, options.length);
i = Math.floor(t) - 1;
f = t - Math.floor(t);
if (i >= options.length - 1) {
result = options[options.length - 1];
} else {
result = linear(f, 0, 1, options[i], options[i + 1]);
}
// Counter with decimal- and thousands-separator-point and unit;
slider = effect("count")(1);
// --- SETTINGS ---
decimals = 0; // Number of decimal places
decSymbol = ","; // Decimal point symbol
thousandSymbol = "."; // Thousands separator symbol
useThousands = 1; // Set to 'false' to turn off thousands separator
suffix = " Einheiten"; // Text after the number
// ----------------
let num = slider.value;
let str = num.toFixed(decimals);
// Split the number into whole and decimal parts to handle separators
let parts = str.split(".");
let whole = parts[0];
let dec = parts[1] ? decSymbol + parts[1] : "";
// Logic for thousands separator
if (useThousands) {
whole = whole.replace(/\B(?=(\d{3})+(?!\d))/g, thousandSymbol);
}
whole + dec + suffix;
// Auto-Fade from ‰;
dur=10/25;
(time < inPoint+dur)?easeOut(time,inPoint,inPoint+dur,.01*value,value):easeIn(time,outPoint-dur,outPoint,value,.01*value)
// Auto-Fade from 0;
dur=10/25;
(time < inPoint+dur)?easeOut(time,inPoint,inPoint+dur,0,value):easeIn(time,outPoint-dur,outPoint,value,0)
//Loop Expression;
loopOut("pingpong");
loopOut("offset",2);
loopOutDuration("cycle",3);
//Auto-Mask;
offset=[0,0];
expandX=10;
expandY=10;
createPath(points = [
[0,0]+[-expandX,-expandY]+offset,
[width,0]+[expandX,-expandY]+offset,
[width,height]+[expandX,expandY]+offset,
[0,height]+[-expandX,expandY]+offset
], inTangents = [], outTangents = [], isClosed = true)
//Auto-Text-Mask;
mX=10;
mY=mX;
t=inPoint+0.5*(outPoint-inPoint);
createPath(points = [
[sourceRectAtTime(t).left-mX,sourceRectAtTime(t).top-mY],
[sourceRectAtTime(t).left+sourceRectAtTime(t).width+mX,sourceRectAtTime(t).top-mY],
[sourceRectAtTime(t).left+sourceRectAtTime(t).width+mX,sourceRectAtTime(t).top+sourceRectAtTime(t).height+mY],
[sourceRectAtTime(t).left-mX,sourceRectAtTime(t).top+sourceRectAtTime(t).height+mY]
], inTangents = [], outTangents = [], isClosed = 1)
//Tracer;
layerToTrace = thisComp.layer("mover");
framesToTrace = 25;
samplesPerFrame = 1;
pointArray = new Array(0);
inTangArray = new Array(0);
outTangArray = new Array(0);
for (i=0; i < framesToTrace*samplesPerFrame; i++) {
{var p = layerToTrace.transform.position.valueAtTime(i*1/(1/thisComp.frameDuration)/samplesPerFrame);}
pointArray.push(p);
inTangArray.push([0,0]);
outTangArray.push([0,0]);
}
createPath(points = pointArray,
inTangents = inTangArray,
outTangents = outTangArray,
isClosed = 0)
//Random Color / Zufallsfarbe;
seedRandom(index,true)
hsl=random([0,.75,.5,1],[1,1,1,1]);
hslToRgb(hsl)
//Comp-Framerate;
1/thisComp.frameDuration
//Center AnchorPoint Vertically / Ankerpunkt Vertikal Zentrieren;
[value[0],sourceRectAtTime(outPoint).top + sourceRectAtTime(outPoint).height/2]
//Ausrichtung auf Pfad / Orient to Path Tangent;
pathToTrace=("Pfad");
progress=linear(time,0,1,0,1);
pathTan=pathToTrace.tangentOnPath(progress);
radiansToDegrees(Math.atan2(pathTan[1],pathTan[0]))
//Punkt auf Pfad / Pfad verfolgen / Point on Path;
pathToTrace=("Pfad");
progress=linear(time,0,1,0,1);
pathToTrace.pointOnPath(progress)
//Position von Pfadpunkt auslesen;
n=1;
pathToTrace=("Pfad");
pathToTrace.path.points()[n]
//Farbe dunkler / Darker Color;
hslToRgb(rgbToHsl(value)+[0,0,-.1,0])
//Doppelpfeil;
l=20;
createPath(points = [
[-4*l,0*l],
[-2*l,-2*l],
[-2*l,-1*l],
[2*l,-1*l],
[2*l,-2*l],
[4*l,0*l],
[2*l,2*l],
[2*l,1*l],
[-2*l,1*l],
[-2*l,2*l]
], inTangents = [], outTangents = [], isClosed = 1)
//Rounded Rectangle Runde Ecken;
u=20;
t=10;
o=anchorPoint;
createPath(points = [
[-5*u,0]+o, [ 5*u,0]+o, [ 6*u,1*u]+o, [6*u,3*u]+o, [5*u,4*u]+o, [-5*u,4*u]+o, [-6*u,3*u]+o, [-6*u,1*u]+o
], inTangents = [
[-t,0], [0,0], [0,-t], [0,0], [t,0], [0,0], [0,t], [0,0]
], outTangents = [
[0,0], [t,0], [0,0], [0,t], [0,0], [-t,0], [0,0], [0,-t]
], isClosed = 1)
//Mirror IN keyframes when layer ends;
keyFrameSpacing=key(numKeys).time-key(1).time;
if(time <= key(numKeys).time) value
else valueAtTime(linear(time,outPoint-keyFrameSpacing,outPoint,key(numKeys).time,key(1).time))
//Punkt um Kreis / Position Around Circle;
center=position;
radius=effect("radius")(1);
angle=degreesToRadians(effect("winkel")(1));
x=radius*Math.cos(angle);
y=radius*Math.sin(angle);
add(center, [x,y]);
// Straighten paths;
var gridSize = effect("gridSize")(1);
var origPath = content("Path initial").path;
var origPoints = origPath.points();
var origInTang = origPath.inTangents();
var origOutTang = origPath.outTangents();
pointsNum = origPoints.length;
meshPoints = new Array(0);
for(i = 0; i < pointsNum; i++){
p = origPoints[i];
x = (p[0]/gridSize).toFixed(0) * gridSize;
y = (p[1]/gridSize).toFixed(0) * gridSize;
pMesh = [x,y];
meshPoints.push(pMesh);
}
createPath(meshPoints,origInTang,origOutTang,origPath.isClosed());
// Tausenderpunkt Dezimalpunkt Komma comma decimal point;
num = effect("Slider")(1).value.toFixed(0);
function addCommas(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
addCommas(num)
// Text replace;
s = s.replace(".",",");
// Typewriter Effect;
Nachricht: var sign = "|";
var blinkInterval = 8; // edit the blinking interval in frames
// slider with text length
var i = effect("Text")("ADBE Slider Control-0001");
// checkbox to turn the cursor on and off
var on = 1;
var frames = timeToFrames(time);
var check = frames / blinkInterval;
if (on == 1) {
if (i.valueAtTime(time + thisComp.frameDuration) > i) {
end = sign;
} else {
if (Math.floor(check) % 2 == 0) {
end = sign;
} else {
end = " ";
}
}
} else {
end = " ";
}
text.sourceText.substr(0,parseInt(i)) + end;
// Perfect circle / perfekter Kreis;
var r = 100;
var tL = 0.55191502449 * r; //tangentLength;
var center = [0,0];
createPath(points = [
center + [0,-r],
center + [r,0],
center + [0,r],
center + [-r,0],
], inTangents = [
[-tL,0],
[0,-tL],
[tL,0],
[0,tL],
], outTangents = [
[tL,0],
[0,tL],
[-tL,0],
[0,-tL],
], isClosed = 1)
// Slice array;
threeValueArray.slice(0,2)
// Smooth expression;
value.smooth(timespan, keyframes/samples)
value.smooth(25/25, 25)
// Point on sphere // Punkt auf Kugel // Navigation // Koordinaten;
center = value;
radius = effect("radius")(1);
latitude = effect("latitude")(1);
longitude = effect("longitude")(1);
latRad = degreesToRadians(latitude);
lonRad = degreesToRadians(longitude);
x = radius * Math.cos(latRad) * Math.cos(lonRad);
y = radius * Math.sin(latRad);
z = radius * Math.cos(latRad) * Math.sin(lonRad);
[center[0] + x, center[1] - y, center[2] + z]
//DIN A4 Papier // paper;
factor=1.0;
x=210*factor;
y=297*factor;
ecke=60*factor;
createPath(points = [
[x,0]+[0,ecke],
[x,y],
[0,y],
[0,0],
[x,0]+[-ecke,0],
[x,0]+[-ecke,ecke],
[x,0]+[0,ecke],
[x,0]+[-ecke,0]
], inTangents = [], outTangents = [], isClosed = 0)
// Self reference in shape layer // Name;
i = thisProperty.propertyGroup(1).name.split(" ")[1];
// Auto-orient Y-Axis only;
delta = toWorld(anchorPoint) - thisComp.activeCamera.toWorld([0,0,0]);
radiansToDegrees(Math.atan2(delta[0],delta[2]))
//Sample Image Color;
target = thisComp.layer("background");
target.sampleImage(transform.position, [0.5,0.5], true, time)
//Grid Positions;
n=name.split("_")[1];
distX=120;
distY=120;
lineMax=16;
row=Math.floor(n/lineMax);
xPos=n%lineMax*distX;
yPos=row*distY;
[xPos,yPos]
//Swing Pendulum with decay;
veloc = 1.5;
amplitude = 10;
decay = 0.0;
amplitude*Math.sin(veloc*(time-inPoint))/Math.exp(decay*(time-inPoint))
//Swing
duration = 1;
amplitude = 5;
timeOffset = 0;
freq = 1 / duration;
timeFactor = freq * 2 * Math.PI;
amplitude * Math.sin(timeFactor * (time - timeOffset))
//Layer Only Visible When Facing Camera;
try{
toCompVec([0, 0, 1])[2] > 0 ? value : 0
}catch(error){
value;
}
//Loop Wiggle;
freq = 1;
amp = 110;
loopTime = 3;
t = time % loopTime;
wiggle1 = wiggle(freq, amp, 1, 0.5, t);
wiggle2 = wiggle(freq, amp, 1, 0.5, t - loopTime);
linear(t, 0, loopTime, wiggle1, wiggle2)
//Display Name Of Next Visible Layer Below;
txt = "";
for (i = index+1; i <= thisComp.numLayers; i++){
L = thisComp.layer(i);
if (! (L.hasVideo && L.active && L.opacity > 0)) continue;
txt = L.name;
break;
}
txt
//constant stroke width while scaling;
value*(100/transform.scale[0])
//constant stroke width while scaling while layer has parent;
if(hasParent){
if(parent.hasParent)
value*(1/(parent.parent.transform.scale[0]/100*parent.transform.scale[0]/100*transform.scale[0]/100))
else
if(hasParent)
value*(1/(parent.transform.scale[0]/100*transform.scale[0]/100))}
else
value*(100/transform.scale[0])
//Text Line Break;
“txt” + “\r” + “txt”
// Inertial Bounce (moves settle into place after bouncing around a little);
amp = .1;
freq = 2.0;
decay = 3.0;
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);
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
}else{
value;
}
// Bounce Back (Dan Ebberts);
e = .7;
g = 5000;
nMax = 9;
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time) n--;
}
if (n > 0){
t = time - key(n).time;
v = -velocityAtTime(key(n).time - .001)*e;
vl = length(v);
if (value instanceof Array){
vu = (vl > 0) ? normalize(v) : [0,0,0];
}else{
vu = (v < 0) ? -1 : 1;
}
tCur = 0;
segDur = 2*vl/g;
tNext = segDur;
nb = 1; // number of bounces
while (tNext < t && nb <= nMax){
vl *= e;
segDur *= e;
tCur = tNext;
tNext += segDur;
nb++
}
if(nb <= nMax){
delta = t - tCur;
value + vu*delta*(vl - g*delta/2);
}else{
value
}
}else
value
//Speed And Frequency Control (Frame by Frame);
spd = effect("Slider Control")("Slider");
accum = 0;
for (i = timeToFrames(inPoint); i <= timeToFrames(time); i++){
accum += spd.valueAtTime(framesToTime(i));
}
value + accum*thisComp.frameDuration
//Cut Text String;
cut = 4;
len = text.sourceText.length – cut;
text.sourceText.substr(0,len)
//2D Look At Orientation;
aPos= [0,0] ;
bPos= [1,1] ;
vector=aPos-bPos;
radiansToDegrees(Math.atan2(vector[1],vector[0]))
//3D Look At Orientation;
lookAt( [0,0,0] , [1,1,1] )
//Round Decimals - Dezimalstellen Runden;
(value).toFixed(2)
//Point vs. Comma - Punkt vs. Komma;
t= INPUT ;
d=100;
x=Math.round(t*d)/d
x.toString().replace(".",",")
//Try-Catch;
try{
thisLayer.effect(1)(1)
}catch(error){
value;
}
//Penner Eases - Horizontal Layer Move IN&OUT - No Keyframes;
duration=1;
softness=5;
w=sourceRectAtTime(time).width;
h=sourceRectAtTime(time).height;
midPoint=inPoint+(outPoint-inPoint)/2;
EaseIn = function(softness){return function(t){return Math.pow(t, softness)}};
EaseOut = function(softness){return function(t){return 1 - Math.abs(Math.pow(t-1, softness))}};
driverIn=EaseOut(softness)(linear(time,inPoint,inPoint+duration,0,1));
driverOut=EaseIn(softness)(linear(time,outPoint-duration,outPoint,0,1));
x=(time<midPoint)?
linear(driverIn,0,1,-w/2,value[0]):
linear(driverOut,0,1,value[0],thisComp.width+w/2);
[x,value[1]]
//CC RepeTile Fill Comp;
cW=thisComp.width;
lW=transform.scale[0]/100*width;
wFill=(cW-lW)*50/transform.scale[0];
cW=thisComp.height;
lW=transform.scale[0]/100*height;
wFill=(cW-lW)*50/transform.scale[0];
//Random Evolution Custom Framerate;
seedRandom(Math.round(time*5),1)
random(0,1)
