دوستان شما میتوانید همونطری که در آموزش ساخت انیمیشن دو بعدی توضیح دادم یک جسم را در افتر افکت به یک انیمیت زیبا بهشون بدید من چندتا بهتون میگم شما همراه با من انجام بدید
خوب ببنیید تو افتر افکت یک جسم را وارد کنید هرچی میخواد باشه مثلا من ان توپ رو گذاشتم
http://wichitaatbat.com/wp-content/u...occer-Ball.png
خوب بعد تو قسمت تظیمات یعنی قسمت transform بعد قسمت position کلید ALT+و روی کیفریم کلیک بنید بعد قسمتی که ایجاد میشه برای کد نویسی اینو کپی کندید
کد HTML:
Vy0 = 500; //initial y velocity (pixels/second)
Vx0 = 300; // initial x velocity (pixels/second)
g = 2500; // gravity (pixels/second/second)
floor = 400;
e = .85; //elasticity
b = floor - position[1];
h = b + Vy0*Vy0/(2*g);
T = Vy0/g + Math.sqrt(2*h/g);
if (time < T){
y = Vy0*time - g*time*time/2 + b;
}else{
Vy = -(Vy0 - g*T);
while (true){
Vy *= e;
t = T;
T += 2*Vy/g;
if (time < T){
t = time - t;
y = Vy*t - g*t*t/2;
break;
}else if (T - t < thisComp.frameDuration){
y = 0;
break;
}
}
}
[position[0] + Vx0*time, floor - y]
خوب ببینید چه میشه پلی کنید
بعد تو قسمت scale اینو کپی کنید
کد HTML:
Vy0 = 500; //initial y velocity (pixels/second)
Vx0 = 300; // initial x velocity (pixels/second)
g = 2500; // gravity (pixels/second/second)
floor = 400;
e = .85; //elasticity
d = .02; //squash factor
spd= 10; //speed of squash oscillation
decay= 10.0; //how fast squash slows down
b = floor - position.valueAtTime(0)[1];
h = b + Vy0*Vy0/(2*g);
T = Vy0/g + Math.sqrt(2*h/g);
if (time < T){
x = scale[0];
y = scale[1];
}else{
Vy = -(Vy0 - g*T);
while (true){
max_dev = e*Vy*d;
Vy *= e;
t = T;
T += 2*Vy/g;
if (time < T){
t = time - t;
x=scale[0]+max_dev*Math.cos(spd*(t))/Math.exp(decay*t);
y=scale[0]*scale[1]/x;
break;
}else if (T - t < thisComp.frameDuration){
x = scale[0];
y = scale[1];
break;
}
}
}
[x,y]
اوکی خوب یکی دیگه باز باید همون کارارو انجام بدید
Position:
---
کد HTML:
bounceSpeed=1;
flight=0.85;
bounceHeight=250;
t=Math.abs((time*2*bounceSpeed)%2-1);
t=linear(t,flight,0,0,1);
b=Math.cos(t*Math.PI/2);
value - [0,bounceHeight*b];
---
Scale:
---
کد HTML:
bounceSpeed=1;
squash=0.5;
stretch=1.2;
flight=0.85;
t=Math.abs((time*2*bounceSpeed)%2-1);
t= (t>flight) ? easeOut(t,flight,1,stretch,squash) : easeIn(t,0,flight,1,stretch);
[value[0]/Math.sqrt(t),value[1]*t];
---
ویدئو افکت