[P130]METRONOME 관련 질문 입니다.

이 파트를 응용해서 속도가 자연스럽게 줄어드는 추의 식을 엉터리나마 만들어 봤는데

sin($F*10)*(340-300+$F/10))

이 부분에 if문 같은 걸 넣을 수 없을까요?

지금 이 경우는 400프레임에서(진폭을 40프레임 동안 40만큼 줄이는게 아니라 400프레임 동안_그 이상이나 이하도 가능_ 40의 변화가 있도록 한다.) 진폭이 0이 되고 다시 음수로 올라가게 되는데 진폭 쪽의 값이 0이 되면 멈추도록 할 수 있는 방법이 뭔지 궁금 합니다.
-----------------
아 그리고 이파트 sin들이 s가 대문자로 인쇄된 것이 많습니다.

Quote:
진폭 쪽의 값이 0이 되면 멈추도록 할 수 있는 방법이 뭔지 궁금 합니다.

일단, 그래프를 그려줘 보시면 좋을 거 같은데, 함수를 몇개 조합해야 할겁니다. sin($F*10)*(340-300+$F/10)) 이 식은 하나의 커브를 생성하게 됩니다. 하나의 그래프인거죠. 특정 프레임에서 키를 주게 되면, 앞프레임과 뒤프레임이 분리가 됩니다. 그러면 다른 커브에는 다른 식을 주시면 됩니다.

Houdini wrote:
Quote:
진폭 쪽의 값이 0이 되면 멈추도록 할 수 있는 방법이 뭔지 궁금 합니다.

일단, 그래프를 그려줘 보시면 좋을 거 같은데, 함수를 몇개 조합해야 할겁니다. sin($F*10)*(340-300+$F/10))

이건 아마 첨부한 그림 같은 그래프가 될 것 같습니다.(마우스로 수작부린 거라 그림이 엉터리 입니다. 양쪽 대칭입니다.) 그리고 제가 여는 가로를 하나 뺐네요.

sin($F*10)*(340-(300+$F/10))
이거 입니다. 이 식의 경우 340과 300 부분을 조절해서 원하는 프레임 동안 원하는 수치 정도로 진폭이 줄어들거나 늘어나게 조절이 가능 합니다.

그런데 0에서 멈추고 싶은데 expression에 if 구문을 삽입할 수 있는지 궁금 합니다.
예를 들어 if ("../box1/ty")>=0 then sin($F*10)*(340-(300+$F/10)) else ("../box1/ty")=0 end if
뭐 이런 식으로 말입니다. 물론 이건 엉터리고 원하는 게 어떤거지 보여드리는 겁니다.
이게 안되는 현재 상태에서는 추가 속도가 느려지다가 0을 넘어가는 시점에 다시 역으로 속도가 붙습니다. 그냥 0이 되면 멈추게 하고 싶습니다.

ssy

if(340-(300+$F/10)>0,sin($F*10)*(340-(300+$F/10)),0)

이런 expression을 만들어 일단 해결 본 것 같습니다.

ssy

후디니에서는 어차피 시간축으로 진행이 되니까, if($F>0, 리턴값, 0) 이런식으로 해도됩니다. 전체적인 커브를 제어하실려면, spare채널을 쓰셔도 됩니다.

Prisms wrote:
후디니에서는 어차피 시간축으로 진행이 되니까, if($F>0, 리턴값, 0) 이런식으로 해도됩니다. 전체적인 커브를 제어하실려면, spare채널을 쓰셔도 됩니다.

spare에 대해서도 찾아 봐야 겠네요. 감사합니다. $F의 경우 이 상태에서는 무조건 양수라서 리터값이 무조건 실행될 것 같은데. 여기서는 조건이 맞지 않습니다. 제가 그린 그래프가 잘못되고 식도 정리가 안되서 오해하신 것 같습니다. 저 그래프의 x축은 프레임이 아니라 진폭 값을 표현한 겁니다. 그래프가 잘못 됐네요. 진폭 값이 양수에서 점차 0으로 가며 줄어들고 0을 넘어서면서 음수의 즉, 정확한 대칭의 진폭 값을 다시 만들기 시작합니다. 그래프는 캡쳐 해서 다시 올렸습니다.

그리고 식도 정리하면 아래와 같이 됩니다.
if((40-$F/10)>0,sin($F*10)*(40-$F/10),0)
sin($F*10)*(40-$F/10) 에서 40 부분이 프레임의 길이 입니다. $F를 10으로 나누고 있기 때문에 400프레임이 되었을때 진폭 값이 0이 되므로 400 프레임 동안만 흔들리게 됩니다. 여기에 *10을 해준다든가 하면 진폭의 크기가 결정 되겠죠..

ssy

Quote:
$F의 경우 이 상태에서는 무조건 양수 아닌가요? 그래서 리터값이 무조건 실행될 것 같은데. 여기서는 조건이 맞지 않습니다. 임의의 프레임 동안 임의의 진폭으로 줄어드는게 중요하니까요.

말그대로 $F는 여기서 조건일 뿐이죠. -100이든 100이든, -10보타 클수도 있고, 10보다 적을 수도 있고, $F는 무조건 양수가 아닙니다. 마이너스 프레임도 때로 preroll을 위해 필요합니다.

Houdini wrote:
Quote:
$F의 경우 이 상태에서는 무조건 양수 아닌가요? 그래서 리터값이 무조건 실행될 것 같은데. 여기서는 조건이 맞지 않습니다. 임의의 프레임 동안 임의의 진폭으로 줄어드는게 중요하니까요.

말그대로 $F는 여기서 조건일 뿐이죠. -100이든 100이든, -10보타 클수도 있고, 10보다 적을 수도 있고, $F는 무조건 양수가 아닙니다. 마이너스 프레임도 때로 preroll을 위해 필요합니다.

감사합니다. 프레임 값이 무조건 양수라는 건 이 상태에서 그렇다는 거였습니다. 공부 많이 되고 있습니다

ssy

솔직히 간단히 보여주기 위해 싸인그래프나 코사인을 썻지만, 새로운 사용자정의 커브를 만들때는, 복잡하게 쓰면 않됩니다. 최소한 간결하게 쓰는게 좋다는걸 말씀 드립니다. 채널을 합성하는 부분을 공부하면 좋은거 같아요. 애니메이션이나 이펙트 하면서 외부채널하나 참조하는건 당연한 거니까요. 말하자면, 애니메이션 되면서, 카메라 거리 정보를 이용한다든지, 각 포인트의 거리를 이용한다든지..하는.