Tutorial

계속 더해주는 가산 익스프레션

ovcos 2015. 4. 27. 15:17

spd =thisComp.layer("터치콘트롤러").effect("초당_회전각도")("Slider");

mult = 1;

n = spd.numKeys;

if (n > 0 && spd.key(1).time < time){

  accum = spd.key(1).value*(spd.key(1).time - inPoint);

  for (i = 2; i <= n; i++){

    if (spd.key(i).time > time) break;

    k1 = spd.key(i-1);

    k2 = spd.key(i);

    accum += (k1.value + k2.value)*(k2.time - k1.time)/2;

  }

  accum += (spd.value + spd.key(i-1).value)*(time - spd.key(i-1).time)/2;

}else{

  accum = spd.value*(time - inPoint);

}

fin=value + accum*mult;

linear(Math.sin(time+(fin/25)),-1,1,-45,45)

////////////////


Dan 의 홈페이지는 정말 오아시스다


웬만한건 다 있는것 같다


위의 공식은 사실 모른다. 그냥 붙여넣기 할뿐...


분명한건 spd 로 연결되어있는 저 부분이 무조건 키프레임이 이어야 한다는 것 위글이나 이런식으로 구성된건 못넣는다


역할은 


지속적인 시간증가 값에 변화한 값을 더해주는 공식이다. 보통 로테이션에 타임 + 위글하면 로테이션이 위글위글 거리는데


이렇게 하면 시간에다가 프레임간의 위글값을 계속해서 더해준다

예를들면 0 > 1 > 2 > 0 > -4 > 2 이렇게 변화하는 5프레임이 있다면 5프레임 째에는 8이 되는것. 타임은 없다 치자

1 + 1 + 0 + 0 + 6 이 되어 8이 된다.

아무튼 이런식이 되는데 이게 참 유용할때가 많다


저위의 식은 리니어 값에 타임이 들어가있는데 1~ -1의 사인값이 움직일때 -45 에서 45의 왕복 운동을 하면 되고 이런 왕복운동값에 spd 값이 더해지게 된다. 너무 빠르다면 fin 값을 낮춰주면 된다. fin은 임의로 해둔건데 걍 fin 에 들어있는 걸 아무거나 나눠주면 될거같다.


////////////////////


spd =thisComp.layer("터치콘트롤러").effect("초당_회전각도")("Slider");

mult = 1;

n = spd.numKeys;

if (n > 0 && spd.key(1).time < time){

  accum = spd.key(1).value*(spd.key(1).time - inPoint);

  for (i = 2; i <= n; i++){

    if (spd.key(i).time > time) break;

    k1 = spd.key(i-1);

    k2 = spd.key(i);

    accum += (k1.value + k2.value)*(k2.time - k1.time)/2;

  }

  accum += (spd.value + spd.key(i-1).value)*(time - spd.key(i-1).time)/2;

}else{

  accum = spd.value*(time - inPoint);

}

value + accum*mult


/////

위는 원래 식