Download the materials from website FreePik and split into layers in Adobe Photoshop
Make a pre-comp with all of the layers wich contains a "Fresh" and make new comp only with layers similar like a second pic:
Create the Text layer which contains word "Fresh" and fit under the rest of the layers
P.S the font name is Leckerli One Regular
Now we make a animation for our Logo. For this we need a plug-in AutoFill.
Aply the plug-in on the !MASKS of comp "Elements" and Layer "Capa 211".
Do the animation similar, but with little step like this:
P.S The mask of comp "Elements" I did by Auto-Trace function Layer->Auto-Trace
Now you can animate the final comp Logo by Scale and Rotation + add the shapes with applyed effect "Turbulent Displace" and "Glow" and animate by Trim Paths
Expression wich I use for Scale:
e = 0.4; //Elastic
g = 5000; // Gravity
nMax = 9; // Max bounce count
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;
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
g = 5000; // Gravity
nMax = 9; // Max bounce count
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;
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
Expression wich I used for Rotation:
amp = 0.025; //rebound amplitude
freq = 2; //rebound frequency
decay = 3; //damping force
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 && t < 1) {
v = velocityAtTime(key(n).time - thisComp.frameDuration / 10);
value + v * amp * Math.sin(freq * t * 2 * Math.PI) / Math.exp(decay * t);
} else {
value;
}
v = velocityAtTime(key(n).time - thisComp.frameDuration / 10);
value + v * amp * Math.sin(freq * t * 2 * Math.PI) / Math.exp(decay * t);
} else {
value;
}