Tutorial

마커로 조절하는 타임리맵

ovcos 2014. 8. 28. 11:36

콤포지션마커를 "0" 에 하나 찍고

각레이어 혹은 프리콤프에 타임리맵을 걸고

아래 익스프레션을 적용하면

그 순간 부터 레이어가 시작됩니다.

레이어가 마커를 2~3개 이상 찍는다고 해도 찍는 순간 0 frame 부터 다시 재생됩니다.

아주 유용한 표현식입니다.


하지만 이 표현식을 완벽히 이해하지 못해서

어떤 콤포지션에서는 동작하고 

어떤 콤포지션에서는 0이 아닌 다른 프레임부터 시작한다거나 하는 문제점이 간혹 발생하고 있는데 

왜 그런지 모르겠습니다.

이 표현식을 잘 설명해 주실분 계신가요?


m = thisLayer.marker;

n = 0;

if (m.numKeys > 0){

  n = m.nearestKey(time).index;

  if (m.key(n).time > time) n--;

}


t = (n > 0) ? time - m.key(n).time : 0;


seedRandom(n,true);


cm = thisComp.marker;

if (cm.numKeys > 0){

  i = Math.floor(random(cm.numKeys))+1;

  cm.key(i).time + t;

}else

  0