본문 바로가기

애프터이펙트|모션

애펙 valueAtTime / 시간차 두고 앞 물체 따라가게 하는 방법

반응형

애펙에서 시간차를 두고 앞 레이어를 따라가게 하는 간단한 익스프레션이 있다.

valueAtTime expression으로 간편하게 그림자 효과, 뒤따라가는 잔상등을 표현해 보자.

 

 

 

 

따라가려는 물체의 레이어에 posion parent 걸어준다.

그리고 익스프레션 값 마지막에. valueAtTime(뒤따라 가는 시간)을 입력해 준다.

. valueAtTime(시간) = valueAtTime(time-0.2) = 0.2초 뒤에 따라가겠다

 

 

. valueAtTime(0.2)

노란색 레이어가 파란색 레이어를 0.2초의 시간 격차를 두고 따라가는 것을 볼 수 있다.

반응형

 

 

 

 

여기서 여러 개의 레이어가 동시다발적으로 하나의 레이어를 따라가고자 할 때,

단순 복사 붙여 넣기를 하게 된다면 

시간차를 두고자 하는 레이어 하나씩 익스프레션 값을 개별로 변경해주어야 한다.

(이미지를 참고한다면 본사 된 모든 레이어가 shape layer3을 0.5초 느리게 이동하기 때문에

따라가려는 레이어의 이름을 하나씩 값을 수정해줘야 하는 번거로움이 발생한다)

-> 익스프레션 값에 레이어의 이름이 아닌 'index'를 입력해서

*index = 색인 = 레이어의 순번을 뜻하는 명령어

레이어의 이름을 따라가는 것이 아닌 레이어의 번호로 따라가게 해 주자.

 

 

 

 

 

index만 입력한다면 자기 자신이지만

(index+1을 입력한다면 자신보다 순번이 1개 더 높은 레이어 번호를 가지고 있는 거다)

valueAtTime / index

index로 레이어의 이름변경을 손쉽게 자동으로 변경하게 되었지만

valueAtTime의 시간을 변경한다면 다시 하나씩 수정해야 한다.

 

이럴 경우 

adjustment layer를 활용해서 

더 간단하게 접근해 보자.

 

m = thisComp.layer(index+1). transform.position ;

t = thisComp.layer("Adjustment Layer 1"). effect("Slider Control")("Slider") ;

m.valueAtTime(time-t)

 

 

 

애펙 valueAtTime을 활용해서 깊이감 있는 모션을 줄 수 있다.

반응형