본문 바로가기

Study/After Effect

[Expression] Graymachine Expression

- Graymachine Expression


Graymachine이라는 유저가 자신이 자주쓰는 Expression을 올렸다. 그 중 쓸만한 것을 골라 분석한다.


- Autofade


comp의 시작과 끝을 자동으로 fade in, out 시켜준다.


//Autofade: Add to opacity


transition = 20;       // transition time in frames  프레임의 변환시간
if (marker.numKeys<2){
tSecs = transition / ( 1 / thisComp.frameDuration); // convert to seconds  초로 바꾼다.
linear(time, inPoint, inPoint + tSecs, 0, 100) - linear(time, outPoint - tSecs, outPoint, 0, 100)
}else{
linear(time, inPoint, marker.key(1).time, 0, 100) - linear(time, marker.key(2).time, outPoint, 0, 100)
}


transition은 20프레임이다.

만약 컴프의 마커가 2개 이하라면
tSecs는

시작점에서는 0의 값을, 시작점에서 tSecs를 더한 곳에서는 100의 값을 가진다.

끝점에서 tSecs를 뺀 곳에서는 100의 값을, 끝점에서는 0의 값을 가진다.

그렇지 않다면 시작점에서



marker.numKeys

반환 유형: 숫자


컴포지션에 있는 컴포지션 마커의 전체 숫자를 반환합니다.



frameDuration

반환 유형: 숫자


푸티지 항목의 프레임 지속 시간을 초 단위로 반환합니다.

기본값은 현재 컴포지션의 프레임 속도(1.0 / thisComp.frameDuration)입니다.



linear(t, tMin, tMax, value1, value2)

반환 유형: 숫자 또는 배열

인수 유형: t,tMintMax는 숫자이고 value1value2는 숫자 또는 배열입니다.


t <= tMin인 경우 value1을 반환합니다. t >= tMax인 경우 value2를 반환합니다. tMin < t < tMax인 경우 value1value2 간의 선형 보간을 반환합니다. 예를 들어 [불투명도] 속성에 다음 표현식을 적용하면 0초에서 6초 동안 불투명도 값 사이의 선형 경사가 20%에서 80%로 변경됩니다.


  linear(time, 0, 6, 20, 80)

이 메서드는 모든 보간 메서드처럼 값의 한 범위를 다른 범위로 변환할 때도 사용할 수 있습니다. 예를 들어 [불투명도] 속성에 다음 표현식을 적용하면 불투명도 값이 0%-100% 범위에서 20%-80% 범위로 변환됩니다.



inPoint

반환 유형: 숫자

레이어의 인 시점을 초 단위로 반환합니다.


일반적으로 outPoint의 값은 inPoint의 값보다 큽니다. 그러나 레이어가 시간상 반전되는 경우 inPoint의 값이 outPoint의 값보다 큽니다. 마찬가지로 startTime의 값이 inPoint의 값보다 클 수 있습니다.



outPoint

반환 유형: 숫자


레이어의 아웃 시점을 초 단위로 반환합니다.



marker.key(index)

반환 유형: MarkerKey

인수 유형: index는 숫자입니다.


지정된 인덱스가 있는 마커의 MarkerKey 개체를 반환합니다.



- Inertial Bounce 1.2


오브젝트의 움직임 끝에 튕기는 움직임을 넣는다.


amp = 0.1;
freq = 2.0;
decay = 2.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 && t < 1){
v = velocityAtTime(key(n).time - thisComp.frameDuration/10);
value + v*amp*Math.sin(freq*t*3*Math.PI)/Math.exp(decay*t);
}else{value}


진폭은 0.1, 초당 흔들기는 2.0이다.


amp 값은 진폭이 적용된 속성 단위로 나타낸 진폭입니다.

freq 값은 초당 흔들기 빈도입니다.



numKeys

반환 유형: 숫자


속성의 키프레임 숫자를 반환합니다. 마커 속성의 마커 숫자를 반환합니다.


key(index)

반환 유형: 키 또는 MarkerKey

인수 유형: index는 숫자입니다.


키 또는 MarkerKey 개체를 번호별로 반환합니다. 예를 들어 key(1)은 첫 번째 키프레임을 반환합니다.



nearestKey(t)

반환 유형: 키 또는 MarkerKey


지정된 시간에 가장 가까운 키 또는 MarkerKey 개체를 반환합니다.




'Study > After Effect' 카테고리의 다른 글

[Script] Char Separate  (0) 2016.04.21
[Script] Prism v1.02  (0) 2016.04.14
[Expression] Number Count with dot  (0) 2015.11.16
[Plug in] Red Giant Trapcode Suite 13 - Particular 2.5.0  (0) 2015.11.05
[Script] Cluster v2.0  (0) 2015.10.19