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)
TEST
TEST
//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)
//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)
//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
//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)
//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)
//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)
//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)
//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];