Adobe. Создание выражений в Adobe After Effects


322 85 1MB

Russian Pages 49 Year 2003

Report DMCA / Copyright

DOWNLOAD PDF FILE

Recommend Papers

Adobe. Создание выражений в Adobe After Effects

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Adobe After Effects

Created by «Frosty» Alexander Lavrov

2003

С

, ,

Adobe After Effects

.Э . ё

,

,

Adobe. , :

1. 2. 3. 4. 5. 6. 7. 8. 9.

Adobe After Effects user guide www.jjgifford.com Э «Adobe After Effects 5.5 Adobe After Effects: Classroom in a book creativecow.net JavaScript aefreemart.com adobe.com CyberMotion Digital Lion ё

, , Adobe After Effects».

windows

mac»

. . 11 «С

manual,

ч

, .

. JavaScript,

.

ё,

.

,

, , ,

(

. . creativecow.net

CyberMotion).

1. .

ё

, .

Adobe After Effects, ?

: Adobe After Effects

,

, .

ё

, Drop Shadow. direction ,

rotation .

,

, . .

Production Bundle .

«Motion Math». ,

,

,

layeraud.mm. JavaScript, , JavaScript

AAE .

,

«Pick

wipe», . Created by «Frosty» Alexander Lavrov

2

С

Adobe After Effects

ч

«С

Adobe After Effects». JavaScript,

ё . JavaScript

AAE «JavaScript: The , web-

.

Definitive Guide», AE .

JavaScript, web, AE Layer, Comp, Footage, Camera

,

. .

2. , ,

Timeline. . ,

. ; ,

Timeline, .

1.

-

Timeline

(

): -

Choose Animation > Add Expression Alt-click (Windows) Option-click (Mac OS) stopwatch ( )

-

Shift+Alt+Ins

AE

, , .

2.

, «Pick wipe» ( ) Timeline.

-

:

. «

-

«Pick wipe»». . . «Н

ё

х

». .

, , .

.

«И

». 3.

-

enter ,

. ,

ё

AE

, ( ).

ё ё

, . ,

. Created by «Frosty» Alexander Lavrov

3

С

Adobe After Effects

, .

\

A. . B. . C. Pick wipe D. E.

(on/off) . ( ).

, ( ).

.

,

. . ( ).

.

,

,

( ). ё .

,

.

ё

.

,

EE

.

, .

Created by «Frosty» Alexander Lavrov

,

4

С

Adobe After Effects

. .

ё

, AE

.

: Convert Expression to Keyframes.

Animation > Keyframe Assistant >

3.

«Pick wipe» «Pick wipe» .

1 rotation , Point of Interest rotation

rotation

, 2,

2,

. position

– .

,

.

«Pick wipe» «Pick wipe», .

, ,

1

rotation

ё

( )

AE

. .

, ,

ё

.

, AE

Э

(1D, 2D, 3D, . . ,

, ,

4D). , , ,

position, ,

.

opacity, . , : : Rotation(°) Opacity(%) : Scale[x=width, y=height], Position[x, y], Anchor Point[x, y] : Scale[width, height, depth], Position[x, y, z], Anchor Point[x, y, z] : Color[red, green, blue, alpha]

1D 2D 3D 4D

«Pick wipe» ,

«Pick wipe»

, .

Created by «Frosty» Alexander Lavrov

5

С

Adobe After Effects

,

, « Dial.aep, . : ,

. 1.

».

:

-

«Light» ,

«Dial» «Dial».

2. 3600. opacity

3. Expression. 4. rotation

«Light».

Animation > Add

«Pick wipe» opacity «Dial». After Effects this_comp.layer("Dial").rotation.

. «Light»

ё Enter

. 5.

. .

,

,

, ,

«Pick wipe» , ,

. Э

0% , rotation

opacity

,

, rotation 00 3600. opacity 3,6 100, opacity , , ,

100%, 1

, .

.

opacity

, rotation. , .

. .

: + (

), - ( ).

(

), * (

), / (

), *-1 :

360 this_comp.layer("Dial").rotation/360*100. , , opacity ё ё

100. ,

DialEdit.AEP rotation.

ё

, . ,

ё



,

«Pick wipe» , .

1.А ,

CLOCK.AEP

.

. 1.

3 -

2.

(«MinuteHand») («HourHand») («ClockFace») anchor points

Created by «Frosty» Alexander Lavrov

.

6

С

3. rotation

Adobe After Effects

.

«Pick wipe»: .

rotation rotation this_comp.layer("HourHand").rotation. 4. . 5. , 12 . rotation 12. this_comp.layer("HourHand").rotation*12. 2.

,

ё

, x. ,

BLUR.AEP.

, .

1. «BlurSolid». 2. 3.

,

, Fast Blur. Position

.

x.

. 4.

Blurriness

5. 10.

position

Fast Blur position[0]. . , position[0]/10.

3.

x-position. ,

. ScaleBoxes.aep 3 , «Red», «Green», «Blue». «Red».

1. . 2.

, 0

100% 0

2

. 3. ё

scale «Red».

«Green»,

«Pick wipe» scale this_comp.layer("Red").scale. 1 . value_at_time(time-1). : property > value_at_time(t). t time-1. Э «Green» 1 . this_comp.layer("Red").scale.value_at_time(time-1). « Adobe After Effects». scale «Blue» scale «Red». 2 . this_comp.layer("Red").scale.value_at_time(time-2).

,

4.

4. After Effects

. JavaScript .

JavaScript 1.2 ,

,

,

JavaScript. JavaScript. , Created by «Frosty» Alexander Lavrov

.

7

С

Adobe After Effects

, «И

AE.

, ».

ё

JavaScript AE «property», )

«

». (

JavaScript, (

). ,

:

- JavaScript

,

,

«Red»

«red»

-

,

,

,

: 1. comp(“final comp”). 2.

(

,

,

, . .

, ,

,

ё

. Э

Notepad

Simple Text. ё

ё

, ,

ё ,

. ,

, .

ё

: -

.

//

AE : // This is a comment. /*

// .

.

*/

/*

AE

*/

.

: /* This is a multiline comment */

5. , After Effects

JavaScript 1.2 .

. .

– scale

,

«Solid1»

scale position ё , this_comp.layer("Solid1").position

Created by «Frosty» Alexander Lavrov

,

. :

8

С

Adobe After Effects

this_layer.position position , .

, ,

«Solid1»,

«Solid2»,

position

: this_comp.layer("Solid2").position ё

,

.

,

,

«

Adobe After Effects». ,

. : 1. 2. Expression. 3. this_comp 4. Э

position

Animation > Add : position.

position: this_comp –

,

,

. 5.

, «

6.

,

this_comp ».

ё

, this_comp ,

. "layer(index)".

,

. : this_comp.layer(2) 7. »,

«

».

«А .

,

position : this_comp.layer(2).position

, 8.

« »

«А

,

.

,

2 » : this_comp.layer(2).position.value_at_time(time-2) 9. «А » value_at_time(time-2) . . , (+,-,/,*). 10.

ё

». «

, ,

, ,

.

.

,

: x = rotation * 10; [x, 20] [rotation * 10, 20] , Created by «Frosty» Alexander Lavrov

ё

x,

rotation*10. [x, 20].

9

С

ё

Adobe After Effects

, .

. –

,

. : this_comp.layer(1).position this_comp.layer(1).position.value_at_time(time) , «(time)». , », : this_comp.layer(1).position.value_at_time(time-5)

,

«

5

,

,

remapped time. remapped

"source", .

time ,

– remapped time,

, position : comp("nested comp").layer(1).position position, , . layer 1, position remapped time. source.layer(1).position

"source", :

. , ( ,

(

, opacity), , position "bg_color"). position, scale, color)

-,

(

ё -

ё AE

,

.

, .

,

position 2 [x, y]

,

2d, 3 [x, y, z] .

,

. ,

X=10

3d

[10, 20] Y=20,

.

. . - Position[0] - Position[1] - Position[2]

Created by «Frosty» Alexander Lavrov

:

x y z

10

С

AE-

(

Adobe After Effects

Layer, Effect . : layer(1) ,

, window

Mask) ,

Timeline .Э

,

,

,

, ё : effect("Colorama").param("Get Phase From") effect(1).param(5) . , . . ,

. .

.

,

, , .

, 2d

.

3d .

,

,

, rotation

pick whip

scale 2. this_comp.layer(2).scale[0] , .

1

: scale, pick whip

, :

this_comp.layer(2).scale[1] , pick whip scale 2 rotation 1, AE scale rotation. : [this_comp.layer(1).rotation, this_comp.layer(1).rotation] , scale . : [this_comp.layer(1).rotation, 10] ё rotation, 10.

rotation.

6. ,

.Э . ,

AE .

,

. ,

,

, "this_comp"

(Global menu): "this_comp" (.) Comp menu, this_comp.layer(

.

"layer":

Created by «Frosty» Alexander Lavrov

11

С

Adobe After Effects

: this_comp.layer(1) Layer, Light, Camera menu. position,

, 1 "position": this_comp.layer(1).position

. Э

1. .

ё

2.

,

.

7. ,

AE.

ё

. .

. ,

« .

ё

»,

, .

, (0,0) (5,6)- (0,0)=[5-0,6-0]=[5,6]

(5,6). .

(5,6)

ё

Created by «Frosty» Alexander Lavrov

.

12

С

:

1

.

[(2,7), (6,3)]

1

1

Adobe After Effects

2

[(0,0),(2,7)] 2

2.

.

, . .

, [80,

60] - [20, 70] = [60, -10] .

. .

length() ,

.

.

D2=x2+y2 , .

Created by «Frosty» Alexander Lavrov

, ,

D=math.sqrt(x*x+y*y) , .

13

С

Adobe After Effects

Delta.

.

.

1.

, ё point1 point2 point1=this_comp.layer("A").position; point2=this_comp.layer("B").position;

2. delta=sub(point1, point2); X=delta[0]; Y=delta[1]; 3. distance=Math.sqrt(X*X+Y*Y); Э 3d

, .

. length(vector).

length(vector) Adobe After Effects length().

: , .

length(),

:

1. , point1=this_comp.layer("A").position; point2=this_comp.layer("B").position; 2. delta=sub(point1, point2); 3. length(delta);

«

»,

www.jjgifford.com.

. VectorBlur.aep ,

”d”, ”e”)

Created by «Frosty» Alexander Lavrov

Interactive 6 ,

ё :5

(“a”, ”b”, ”c”, (“Drag me”).

14

С

Adobe After Effects

,

ё , 1. scale 2. point1=this_layer.position; point2=this_comp.layer("Drag Me").position;

. «a».

3. delta=sub(point1, point2); 4. distance=length(delta); 5. linear(distance, 0, 80, [250,250], [75,75]); 6.

linear(distance, 0, 80,

[250,250], [75,75]); linear(distance, 0, 80, 10, 0); ё

7.

, . Э , .

=

/ = =

/ /

JavaScript : Math.sin(angle) Math.cos(angle) Math.tan(angle) Э

. -1

/ 1.

,

. . ,

570.

Created by «Frosty» Alexander Lavrov

15

С

Adobe After Effects

ё

AE ,

ё

, ,

, ,

. ,

AE radians_to_degrees(radians) degrees_to_radians(angle) : Math.sin(degrees_to_radians(rotation))

,

:

. .

, ( (

)

). Y

X

,

. ,

.

,

, . .

,

:

1. Trig Circular Motion.aep

Circular -

.

,

, .

,

.

1.

: center=this_comp.layer("Center").position;

2.

.

ё

ё

:

radius= 120; 3. «

.

,

». , time*2.

A -

. ,"

", Pi

2Pi

,

2: , .

angle=time*2; 4.

Created by «Frosty» Alexander Lavrov

:

16

С

Adobe After Effects

x=radius*Math.cos(angle); y=radius*Math.cos(angle); 5.

,

, , :

, . add(center, [x,y]);

2.

. DUBLICATE.AEP , . . ,

,

.

,

, , , . 1. : layer_num=index-1; interval=30; angle=degrees_to_radians(layer_num*interval); , 0°. «Interval» , . layer_num interval, {0, 30, 60...}. degrees_to_radians().Э , Javascript , , 0°, 2. , ,

Timeline. .

,

.

,

{0, 1, 2...} , . - 30°, ,

- 90°

. . :

Animation/Convert Expression to Keyframes. . 3. , center=this_comp.layer("Center").position; radius=80; interval=30; layer_num=index-1; angle=degrees_to_radians(layer_num*interval); x=radius*Math.cos(angle); y=radius*Math.sin(angle); add(center, [x, y]);

«Ц

(Position):

»

, x-

y-

,

. ,

( ,

)

,

. , «

»

Created by «Frosty» Alexander Lavrov

.

ё

,

17

С

,

Adobe After Effects

. «

,

,



».

»

. , «Easy-ease».

. ё

.

,

, -

,



. :

, –

.

,

,

ё

.

. , ,

, . .

: ,

,

,

, .

-

.

( ,

Created by «Frosty» Alexander Lavrov

)

.

18

С

Adobe After Effects

,

ё ,

.

. Math.sin(time).

. Math.sin(time*6)

,

6

, .

,

+5,

,

5*Math.sin(time)

,

Math.sine(time), –5

–1

+1.

amplitude*Math.sin(angle*frequency)

. , ,

(

) -

,

.

. .

.

. Spring_d.aep ,

Spring

,

.

, .

,

,

. : x=Math.sin(time*3)*60; rest=position; add(rest, [x,0]); : ,

. .

Created by «Frosty» Alexander Lavrov

19

С

Adobe After Effects

(3 60,

)

. :

frequency=3; amplitude=60; x=Math.sin(time*frequency)*amplitude; rest=position; add(rest, [x,0]); ё

, ,

.

. :

ё

. "amplitude=60/time." time=0,

: .

,

.

linear(): amplitude=linear(time, 0, out_point-1, 120, 0); : frequency=10; amplitude=linear(time, 0, out_point-1, 120, 0); rest=position; x=Math.sin(time*frequency)*amplitude; add(rest, [x,0]); ё

,

, .

– MotionMath.

dbspring.mm). Э Application.

(spring.mm Adobe After Effects,

. .

, :

: frequency_one=10; amplitude_one=10; frequency_two=1; Created by «Frosty» Alexander Lavrov

20

С

Adobe After Effects

amplitude_two=30; wave_one=Math.sin(time*frequency_one)*amplitude_one; wave_two=Math.sin(time*frequency_two)*amplitude_two; y=wave_one+wave_two; x=time*32; add(effect("Write-on").param(1), [x, y]); ,

,

. .

,

, . .

: frequency_one=15; amplitude_one=5; frequency_two=1; amplitude_two=10; wave_one=Math.sin(time*frequency_one)*amplitude_one; wave_two=Math.sin(time*frequency_two)*amplitude_two; y=wave_one*wave_two; x=time*32; add(effect("Write-on").param(1), [x, y]); ,

,

. , ,

:

Arcsine, Arccosine Arctangent. , . -

, arcsine(n) ,

, .

-

n.

, ,

,



360°

. .

Created by «Frosty» Alexander Lavrov

21

С

Adobe After Effects

Javascript, , , radians_to_degrees(radians). Math.asin() Math.acos(), -1 1, Adobe After Effects . AE ё : Math.atan() , . Math.atan() , Pi/2 Pi/2. Math.atan2() .

Math.atan2(). -Pi Pi.

. , : temp=opposite/adjacent; angle=Math.atan(temp); , . Math.atan2()

0, AE 90°

,

, , .

,

.

,

ё

-

.

Point_at.aep

Point_at Math.atan2()

, .

,

. : this_point=position; that_point=this_comp.layer("target").position; delta=sub(this_point, that_point); angle=Math.atan2(delta[1], delta[0]); radians_to_degrees(angle); «This_point» ,

«that_point» .

, x- yMath.atan2(),

«delta». delta . radians_to_degrees . ,

y, «that_point»

«This_point» .

delta. x- yMath.atan2(),

y,

Created by «Frosty» Alexander Lavrov

«delta» . radians_to_degrees .

22

С

Adobe After Effects

8.

ё

, . ,

JavaScript. Э

ё

-

, . .

JavaScript – . «IF…..ELSE» ,

ё .

«while»

– .

,

.

. : if ( { else {

) "

"}

"

"} :

1. 2. ) )

if (

). :

-

"

,-

ё if (time < 1) {seed_random(1,true)} else {seed_random(2,true)}

";

"

".

:

, seed_random(1,true).

0,

seed_random 0,

seed_random(2,true).

,

WHILE? ( while( {

ё

). WHILE ) }

Created by «Frosty» Alexander Lavrov

:

23

С

Adobe After Effects

,

(

0). :

1)

(

0

) ;

2)

0

-

. : seg_end_time = 0; i =1; tmin = 5; tmax = 2; while (time >= seg_end_time) {i = i+1; seed_random(i,true); seg_start_time = seg_end_time; seg_end_time = seg_end_time + random(tmin,tmax);} :

seg_end_time,

i = i+1; seed_random(i,true); seg_start_time = seg_end_time; seg_end_time = seg_end_time + random(tmin,tmax); .

seg_end_time,

9.

Adobe After Effects 5.5

5.5 Adobe After Effects .

. , .

Adobe After Effects 5.5 Controls.

6

Expression .

, . .

, ,

. : slider,

, «Springiness».

«Controls».

. spring = this_comp.layer("Controls").param("Springiness"); :

Expression Controls 1. Slider Control ё

0

ё

100.

. 2. Angle Control . Created by «Frosty» Alexander Lavrov

24

С

Adobe After Effects

1. Checkbox Control . 4. Color Control . 5. Point Control . 6. Layer Control

ё ,

.

AE 5.5, . Э

.

, ,

– .

, :

wiggle position. wiggle(5,10) AE 5.0 : position.wiggle(5,10); ё , . : this_comp.layer("OtherLayer").position.wiggle(5, 10);

, .

5.5 .

div(add(pos1, add(pos2, pos3)), 3),

, (pos1 + pos2 +

pos3) / 3.

AE 5.5 Э : 1. loop_in(type = "cycle", num_keyframes = 0) , . ё . ё 2. loop_out(type = "cycle", num_keyframes = 0) , . ё . ё 3. loop_in_duration(type = "cycle", duration = 0) , . ё . ё . 4. loop_out_duration(type = "cycle", duration = 0) , . ё . ё .

Created by «Frosty» Alexander Lavrov

. ё .

. ё ё

ё

25

С

Adobe After Effects

: 1. Cycle

ё . loop_in(type = "cycle", num_keyframes = 20) 2. Pingpong

ё

ё

,

. loop_out(type = "pingpong", num_keyframes = 40) 3. Offset

ё

, ,

4. Continue

ё

.

,

, ,

. , loop_out(type="continue"), 100% . Э

scale 100% «keyframes»

«duration»

.



,

,

.

,

, wiggle, wiggle(freq, amp, octaves = 1, amp_mult =5, t = time). wiggle . (=) , .

ё

"has_parent()" , .

"has_parent()".

: idx = index; if (has_parent) {idx = parent.index} this_comp.layer(idx).position.wiggle(5, 20)

seed_random() , , seed_random(), seed_random(, true); r = random()

Created by «Frosty» Alexander Lavrov

ё true, 0 1.

.

26

С

Adobe After Effects

".name" After Effects 5.5 Mask, Effect. Э . ,

".name"

Comp, Footage, Layer,

, . wiggle

,

position "hero":

amp = 20; if (name == "hero") {amp = 40;} wiggle(5, amp)

,



ё

,

ё

, . :

- this_comp.marker(marker_num) .

,

,

100% . mark_time = this_comp.marker(1); linear(time, mark_time - 5, mark_time, 100, 0) - num_keys . - key(idx) .

, key(1)

. key, index

value.

time, value

ё

, .

position.key(3).value ,

,

opacity, . , d = Math.abs(time - nearest_key(time).time); ease_out(d, 0, 1, 100, 0)

.

- marker

marker . Э position , nearest_key num_keys. 1. marker.key(1) 2. marker.key("foo") ё m1 = marker.key("Start").time; m2 = marker.key("End").time; linear(time, m1, m2, 0, 100); Э opacity "Start" "End".

Created by «Frosty» Alexander Lavrov

: key(), :

:

ё

27

С

Adobe After Effects

10. . . . .

,

,

Creative Cow .

CyberMotion, ,

Э



,

Э

creativecow.net. , . – ( ), . . , , Drummer. : cymbal comp ( 10 ), r arm comp (

head comp ( 6 drummer.ai ( (

6

), ), l arm comp ( 6

drummer.ai Adobe Illustrator drums.wav, drummer.ai. –

,

markers.aep

), ), main comp drop shadows). drummer.ai. . , .

,

.

, (

).

Null 1

( ),

Null 2 , ,

. . .

head comp, r arm comp, l arm comp, cymbal comp – enable time remap. Э , , . time remap head comp : hit=marker.key(1).time; t=time-this_comp.layer("Null 2").marker.nearest_key(time).time; t+hit . hit head comp. , ( 5). . , , . t Created by «Frosty» Alexander Lavrov

28

С

Adobe After Effects

,

Null 2.

1

head comp

hit. l arm comp cymbal comp : hit=marker.key(1).time; t=time-this_comp.layer("Null 1").marker.nearest_key(time).time; t+hit , . , , Null 1, l arm comp cymbal comp. r arm comp. : hit=marker.key(1).time; t=time-this_comp.layer("drums.wav").marker.nearest_key(time).time; t+hit , drums.wav, r arm comp. (Math.round) ,

.

. – , . : . levels.aep levels_tut. «dial» . … .

rotation , smoother

.

. : random(1,100).

, .

,

, .

. scale «bar 1» : [value[0], this_comp.layer("dial").rotation] value[0] scale, this_comp. scale. layer("dial"). rotation 2 . , 5 . , . math.round math.ceil ( . «С ч Adobe After Effects»). : volume = this_comp.layer("dial").rotation / 20; barheight = Math.round(volume); [value[0], barheight * 20] volume ( rotation 5- . ? "dial") , rotation 20. rotation 100, 5 .

Created by «Frosty» Alexander Lavrov

29

С

(

Adobe After Effects

5).

math.round. .

barheight

volume. … y

scale. ). ,

barheight ,

(

x ,

… Э Э creativecow.net.

. mashine.

mashine.aep

. 3 : piston, crank, wheel. Adobe Illustrator. . wheel piston.

Э

. crank,

crank ,

, (crank).

(piston) . Э

: ,

,

. .

,

, r=length(this_comp.layer("wheel").position,position); Created by «Frosty» Alexander Lavrov

rotation

«crank».

. . :

30

С

Adobe After Effects

( ).

. : l=length(position,this_comp.layer("piston").position); , , . , . , : r=length(this_comp.layer("wheel").anchor_point,position); r=length(from_comp(this_comp.layer("wheel").position),anchor_point); r=length(this_comp.layer("wheel").position,to_comp(anchor_point)); . : l=length(anchor_point,this_comp.layer("piston").position); . , , . , . . « », , . – – r– -

(

),

:

r * sin(A) = d c * sin(B) = d sin(B) = r * sin(A) / c B = arc sin(r*sin(A) / c)

, .

Math.sin .

, Math.PI(

180 rad2deg = 180 / Math.PI; //radians to degrees deg2rad = Math.PI / 180; //degrees to radians : rad2deg = 180 / Math.PI; //radians to degrees deg2rad = Math.PI / 180; //degrees to radians r=length(this_comp.layer("wheel").anchor_point,position); l=length(anchor_point,this_comp.layer("piston").position); !

Math.asin. After Effect PI).

,

. PI

.



: B = arc sin(r*sin(A) / c) , : Math.asin(r*Math.sin(this_comp.layer("wheel").rotation*deg2rad)/l)*rad2deg Created by «Frosty» Alexander Lavrov

31

С

Adobe After Effects

,

, .

,

,

. -this_comp.layer("wheel").rotation+ Math.asin(r*Math.sin(this_comp.layer("wheel").rotation*deg2rad)/l)*rad2deg : -1*(this_comp.layer("wheel").rotation+this_comp.layer("crank").rotation) , , , rotation … !!!

Math

math.clamp CyberMotion. (

, ).

, ,

. .

expressions1.aep Meyer_tut.

clamp. .

. : upper_left = [60,60]; lower_right = [260,180]; clamp(this_comp.layer("gizmo").position, upper_left, lower_right) upper_left ( ), lower_right . clamp(this_comp.layer("gizmo").position, upper_left, lower_right) , “CM_sensor_crl.tif” "gizmo", upper_left, lower_right.

If/Then/Else If/Then/Else. CyberMotion. expressions1.aep Meyer_tut. intelligent marker trig. .

Created by «Frosty» Alexander Lavrov

32

С

scale «CP_AlarmClock.tif» scale_value = 0; time_to_marker = time - marker.nearest_key(time).time; if (time_to_marker >= 0) {scale_value = linear(time_to_marker, 0, 0.5, 100, 0)}; [scale_value,scale_value]

Adobe After Effects

:

. scale_value = 0; // cale_value=0 time_to_marker = time - marker.nearest_key(time).time; // time_to_marker, . if (time_to_marker >= 0) // – time_to_marker 0 {scale_value = linear(time_to_marker, 0, 0.5, 100, 0)}; // scale 100 0 0 0,5. [scale_value,scale_value] // , x y scale. , , .

“Full throttle” (



while

)

“Deeper modes of expressions” . expressions1.aep Meyer_tut. loop sim. .

while Slider Adobe

«Н ( . After Effects 5.5 »). .

. : step_time = 0.01; total_rot = 0; while (step_time < time) { total_rot += effect("throttle").param("Slider").value_at_time(step_time) / 5; step_time += this_comp.frame_duration; } total_rot . step_time = 0.01; // 0.01 total_rot = 0; // 0 while (step_time < time) // – step_time< ,

,

.

(accumulating numbers). Java Script: « , ,

Created by «Frosty» Alexander Lavrov

, , . Java Script .»

33

С

, += this_comp.frame_duration. : .

+=

Adobe After Effects

step_time .

«add-and-assign» step_time

total_rot += effect("throttle").param("Slider").value_at_time(step_time) / 5; step_time += this_comp.frame_duration; . total_rot total_rot. , gas pedal bar. . y-scale slider «wheel». this_comp.layer("wheel").effect("throttle").param("Slider") . «text & numbers» numbers. numbers slider value/offset/random max this_comp.layer("wheel").effect("throttle").param("Slider") … !!!

11.

«wheel».

Adobe After Effects «С

»,

.

, . JavaScript.

я

this_comp.layer("panel1").rotation+300 // calculates rotation based on panel

ё

,

. .

. «Э ё

». ,

«

,

». .

(this_comp), (layer(“panel1”)), (rotation+300).

Created by «Frosty» Alexander Lavrov

, .

34

С

Adobe After Effects

Y

у = position[1] / this_comp. Height; squash = у * 50; [100 + squash, 100 - squash] я

(

Scale (М

)

. ,

Scale, «

. » (

)

. Y. Э Statement (

).

. (;).

Dot syntax (

).

. .

Comments ( .

).

; (//)

: // Objects (

. ). . -

, Attributes (

, comp

). . , width ( : this_comp.width. . .

layer(«panel1») Methods ( —

).

, ,

-

,

. (

0 Values (

. , Opacity ( 100

) random(100), ), .

).

, (

). , )(

Created by «Frosty» Alexander Lavrov

.

-

)

.

, ,

, ,

. (

)

,

,

Array ( .

After Effects layer, footage, camera.

)

Position

:

35

С

.

Scale (

Adobe After Effects

)

: . : [ ].

,

Vector (

). After Effects

Index (

.

).

, . x:

position[0] . 1.

ё

. , position[0,1].

.

,

,

0.

, y ,

, a position[1] ,

,l

.

(1) ,

Variables ( , ,« radius=20

.

).

,

»

.

, radius

20. .

,

,

, ,

. Operators (

).

,

, .

,

,

,

= ,

.

,

,

; Arguments (

< ( true (

, ) false (

). ),

). .

1

0.

( , Comp(name)

, ,

name

,

-

) .

,

. — .Э

: Comp(”final comp”).

,

this_comp .

,

. Returns (

).

:

« this_comp.layer(«panel1»).rotation Rotation ( ) panel1.

».

,

,

,

(Layer parameters) , «

,

,

. ., ,

».

. ,

,

,

anchor_point Created by «Frosty» Alexander Lavrov

.

2

3 [x, y, (z)]

±

0–

/

36

С

Adobe After Effects

0– 2

position

3 [x, y, (z)]

scale

2 3 [width, height, (depth)]

±

rotation

1

±

opacity

1

orientation ( ё ё )

ё

±100 0–360 ( 0–100

3 [x, y, z]

0-360 (

, ]

ambient diffuse specular shininess

1 1 1 1

(Global objects) ,

) 0–100

±

2[

audio_levels

/

±

)

-192–24

-48–12

0–100 0–100 0–100 0-100

0–100 0–100 0–100 0-100

ё

. ,

,

,

-

,

.

ё this_layer

,

"this_layer.width"

this_comp comp("name") footage("name") time value

"name"

"this_comp.layer(2)." “comp("red").layer(5)” footage("GoldHoney.PSD") “this_comp.layer(1).position.value_at_time(time-5)” "value + 5"

(Vector math methods) Javascript,

-

+, -, /, .

*,

,

,

, . 5.5 (

add(vector1, vector2) sub(vector1, vector2) mul(vector, Number) div(vector, Number) Created by «Frosty» Alexander Lavrov

.

«

AAE 5.5») .

add([80,20],[70,10]) ⇒[80+70,20+10] sub(90,30)⇒ 90-30 mul(50,random(10))⇒ 50*(random(10))

div(gauss_random(50,90),2) ⇒ (gauss_random(50,90))/2

37

С

Adobe After Effects

,

dot(vector1, vector2)

dot(2,random(50))

cross(vector1, vector2)

cross([2,3],[0,0] ) , 1

normalize(vector)

div(v, length(v)) length(5) length(90,30) ⇒ length(sub(90,30)) look_at(position, this_comp.layer(1).position)

length(vector) length(from_point, to_point) look_at(from_point, to_point)

:

(Random number methods) max .

min

90%

,

, 10%

.

. random(max)

0

[random(400),300]

.

random(min, max)

[random(200,500),300]

. max_arr, 0

random(max_arr)

[gauss_random(200,300),300]

. random(min_arr, max_arr)

min_arr

max_arr.

random([100, 200],[300, 400])

. 0 random(max),

.

gauss_random(max)

0

[gauss_random(400),300]

, 10%

gauss_random() .

. gauss_random(min, max)

random(min,max), , -

gauss_random (min, max) 10%

[gauss_random(200,500 ),300]

. max_arr, 0 gauss_random(max_ arr)

. random(max_arr),

[gauss_random(200,300),300]

0 gauss_random (max_arr) 10%

,

. min_arr gauss_random(min_arr, max_arr)

max_arr. gauss_random([100,100],[200,20 0])

. random(min_arr, max_arr), 0

Created by «Frosty» Alexander Lavrov

38

С

seed_random(n) noise(val)

" ,

"

t_min t_max value1 " value2 -

t_max

seed_random(60); random(10,30) add(position, [noise(position)*50])

(Interpolation methods) , ё : . .

. t - "

Adobe After Effects

, gauss_random (min_arr, max_arr) 10% . seed n( ) 0 1. ,

t. t. " ". , value1. Value1 " ". value2. Value 2 value1, ,

, Value2 . t, value1, value2 . 0 1,

linear(t, t_min, t_max, value1, value2)

,

t

t_min, . t

t_max,

"

" ,

Adobe After Effects . Adobe After Effects

t_min

.

value1 value2 t_min

t_max

linear (time, 0, 5, 0, 100)

value1 ease(t, t_min, t_max, value1, value2)

value2 t_min ё

t_max

ease (time, 0, 5, 0, 100)

,

value1 ease_in(t, t_min, t_max, value1, value2)

value2 t_min max ё

t_max

ease_in (time, 0, 5, 0, 100)

value1 ease_out(t, t_min, t_max, value1, value2)

Created by «Frosty» Alexander Lavrov

value2 t_min max ё

t_max

ease_out (time, 0, 5, 0, 100)

39

С

: linear(time, 0, 5, 0, 360) time

0

3600,

5

Adobe After Effects

,

0

. (Rotation) 5

, 360

, .

(Color conversion methods) , . , rgb hsl.

hsl

hsl_to_rgb (hsla)

rgb

4 hsl

А

4

(Comp attributes and methods) , ,

ё layer(index

1

width

1

height

1

duration

1

frame_duration

1

bg_color

4

shutter_phase

0

1 this_comp.shutter_ angle/2 this_comp.shutter_ phase this_comp.num_ layers

1

shutter_phase ё

1 1

pixel_aspect layer(index "name")

.

circumference= width*Math.PI this_comp. height/10 this_comp. duration this_comp.frame _duration*100

1

shutter_angle

num_layers

Layer (other_layer, rel_index)

ё

"name"),

active_camera

shutter_angle

rgb_to_hsl(effect ("Change Color"). param("Color To Change")) hsl_to_rgb (effect ("Colorama"). param("Color To Change"))

rgb

rgb_to_hsl (rgba)

NA (

/ )

this_comp.pixel_ aspect*30

Layer, Light Camera

this_comp.layer ("Solid 1")

Layer, Light Camera

Layer (this_layer, -2)

,

other_layer

Created by «Frosty» Alexander Lavrov

40

С

Adobe After Effects

rel_index

А

(Footage attributes and methods)

footage("1.PSD"). width footage("1.PSD").

width

1

height

1

duration

1

footage("1.mpg"). duration

frame_duration

1

footage("raid.avi"). frame_duration

pixel_aspect

1

А

width

1

height

1 ,

1

out_point

1

has_video

?

has_audio

? ?( )

audio_active ?(

footage("Evil.avi").

pixel_aspect

,

ё

this_layer.width/ 10 this_layer. height /5 this_layer. start_time+60 this_comp.layer ("Camera 1"). in_point+3 this_comp.layer ("Spray"). out_point -20

1

has_video(0)

1

has_audio(1)

1

Active(0)

1

audio_active(1)

) 2[ ,

Property

audio_levels

] index

/ )

1

in_point

layer_active

NA (

(Layer attributes and methods) . , .

-

start_time

height

1

( ё )

parent

Created by «Frosty» Alexander Lavrov

,

,

This_comp. layer(1).audio_ levels Index(4)

position[0] + parent.width

41

С 2

anchor_point

Adobe After Effects

3 [x, y, (z)]

2

3 [x, y, (z)] 2 3 [ , , ( )]

position

scale

( )

This_comp. layer(1).anchor_p oint

position[random (200,300), 100, 50]

Scale[random (100),position]

opacity

1

This_comp. layer(1).opacity

rotation

1

wert=rotation

3 [x, y, z]

X= orientation(0); Y= orientation(1); Z= orientation(2);

orientation

ё

( 3d

)

ambient

,

( 3d

1

)

shininess (

1 3d

)

casts_shadows

( 3d

1

?

)

accepts_shadows

( 3d

1

ё

)

accepts_lights ( 3d )

1

time_remap

time_remap,

1

source mask( ) effect(

Э )

Э -

,

).

(Layer space transform methods) , ( ё

.

-

to_comp (point, t = time)

from_comp

Created by «Frosty» Alexander Lavrov

2

3

to_comp(anchor_point)

2

3

from_comp(this_comp.layer(2).

42

С

Adobe After Effects

(point, t=time)

position)

to_world (point, t=time)

2

3

to_world(effect ("Bulge"). param("Bulge Center")

from_world (point, t=time)

2

3

from_world(this_comp.layer(2). position)

to_comp_vec (point, t=time)

2

3

to_comp_vec([1, 0])

2

3

dir=sub(position, this_comp.layer(2).position); from_comp_vec(dir)

2

3

p1 = effect("Eye Bulge 1"). param("Bulge Center"); p2 = effect("Eye Bulge 2"). param("Bulge Center"); to_world(sub(p1, p2))

2

3

from_world(this_comp.layer(2). position)

from_comp_vec

(point, t=time)

to_world_vec (point, t=time)

from_world_vec

(point, t=time)

А

(Camera attributes and methods) « » , « ». source, effect, mask, width, height, anchor_point, scale, opacity, audio_levels, time_remap, . , , ( . ).

point_of_interest

,

3

zoom

1

depth_of_field

1

focus_distance aperture blur_level active

1 1 1 1

?( )

0-

, 1-

А

(Light attributes and methods) , « ». source, effect, mask, width, height, anchor_point, scale, opacity, audio_levels, time_remap, . , , ( . ). «

point_of_interest

intensity

»

,

3 ё

color Created by «Frosty» Alexander Lavrov

1 4

red,

43

С

Adobe After Effects green, blue,

cone_angle

1

cone_feather

1 1 1

shadow_darkness shadow_diffusion

А

(Effect attributes and methods)

active

param(name)

param(index)

alpha 0 1

1

?

,

, .

1

effect("Bulge").param("Bulge Height")

1

effect(3). param(4)

1.

А

(Mask attributes and methods)

opacity feather

1 ё

2

expansion

1

invert

1

А

this_comp.layer("Solid 1"). mask("Mask 1").opacity this_comp.layer("Solid 1"). mask("Mask 1").feather[0] this_comp.layer("Solid 1"). mask("Mask 1").expansion

(Property attributes and methods)

value value_at_time(t)

velocity velocity_at_time (t)

speed

Created by «Frosty» Alexander Lavrov



44

С

Adobe After Effects

.

speed_at_time(t)

smooth(width=2, samples=5, t=time)

position.smooth(1, 5) . Width , samples .

,tё . Freq – temporal_wiggle (freq, amp, octaves=1, amp_mult=5, t=time)

wiggle(freq, amp, octaves=1, amp_mult=5, t=time)

, amp , octaves – , amp_mult – amp ,t– ) « » . Freq – , , octaves , amp_mult – amp ,t– )

amp –

loop_in(type = "cycle", num_keyframes = 0) loop_out(type = "cycle", num_ keyframes = 0)



scale.temporal_wiggle(5, .2)

position.wiggle(7, 30, 3)

AE 5.5» >>> «И »

loop_in_duration (type = "cycle", duration = 0) loop_out_duration (type = "cycle", duration = 0)

.

key(index)

position.key(3).value

key, time, index

key(marker_name)

value.

position.key(“Splash”).time

.

nearest_key(time)

nearest_key(t) num_keys

.

Math

Э

JavaScript (JavaScript Math)

.

,

, ,

reference»,

«Motion Math language -

. .

JavaScript. Math –

,

ё

,

«Math». , .

Created by «Frosty» Alexander Lavrov

45

С

:

Math . : Math.PI

Adobe After Effects

,

, , . .

,

max -

. = 1800 ⇒ /2=900

Э

Math.E

,

2.71828.

Math.LN10 Math.LN2 Math.LOG10E Math.LOG2E

,

10

2.30259

,

2.

0.69315

, 10

0.43429

2

1.44270

, PI 3.14159. Э

Math.PI

. 1/2 (

Math.SQRT1_2

0.707)

1/2. , 2

Math.SQRT2

2

1.414

Math.abs(val) Math.acos(val)

Math.abs (-10) (

0

Created by «Frosty» Alexander Lavrov

-

)

-1

1.

46

С

Adobe After Effects

, 0. asin 1

-1 (

-

Math.asin(val)

-

/2

/2

). , 0. atan - /2

.

-

Math.atan(val)

Math.atan2(y,x)

/2 -1

.

,

1,

atan -

X .

. Y -

ё

. , Math.ceil(val)

, . : Math.ceil(1.01)

Math.cos(val)

2. ,

-

-1

1. (

Math.exp(val)

Math.floor(val)

Э

), ,

-

,

, ,

. Math.floor(2.99)

: 2.

Math.log(val) -1.797693134862316 +308 Math.max(val1,val Created by «Frosty» Alexander Lavrov

-

47

С

Adobe After Effects

2)

. -

Math.min(val1,val 2)

Math.pow(val, exponent)

,

2

1

. ,

0.5, Math.round(val)

, , 0.5. Math.round(2.1) // 2 Math.round(2.9) //

,

Math.sin(val) -1

-

1. ,

Math.sqrt(val)

0

Math.tan(val)

-

.

JavaScript, . && || ! == !=
= += -+ *+ /+

Created by «Frosty» Alexander Lavrov

48

С

Adobe After Effects

ё ё abstract boolean break byte case catch char class const continue debugger default delete do double

,

ё

JavaScript. Э

. else enum export extends false final finally float for function goto if implements import in

Created by «Frosty» Alexander Lavrov

instanceof int interface long native new null package private protected public return short static super

switch synchronized this throw throws transient true try typeof var void volatile while with

49