【Houdini】vex로 wiggle 같은 위치의 이동을 한다

Houdini의 sop에서 다양한 움직이는 무슨을 만들고 있으면 AfterEffects의 wiggle가 얼마나 편리했는가를 주의한다.

이 근처(10년전의 투고이지만)에 노이즈로 가까운 일을 하고 있는 예가 있지만, 그 자체가 아닌 것 같기 때문에,
htps //w w. 그런 다음 fx. 코m/후우루m/토피 c/14910/? Page = 1 # Post-70402

적당히 vex로 쭉 올렸기 때문에 메모로서 qiita에 붙여 둔다.

wiggle 같은 움직임 테스트 피 c. 라고 r. 코m/4스아 58HjbZ — harayoki (@harayoki) 2019년 6월 16일


float freq = ch("freq"); // 1秒間に値の変わる回数
float amp = ch("amp"); // 値の大きさ

float delta_t = 1.0 / freq; // freq から求めた時間間隔
float key_time1 = floor(@Time / delta_t) * delta_t; // 基準時間1
float key_time2 = key_time1 + delta_t; // 次の基準時間
vector val1 = rand(key_time1); // ランダム位置1
vector val2 = rand(key_time2); // ランダム位置2
float ratio = (@Time - key_time1) / delta_t; // 2つの基準時間の合間、今はどのあたりの割合か
vector val = lerp(val1, val2, ratio); // 線形補完による中間の位置
val -= {0.5, 0.5, 0.5}; // 0.0 ~ 1.0 -> -0.5 ~ 0.5

@P +=  val * amp;


vex의 코드 하이라이트는 아닐까. 우선 C코드로 붙였다.



실제 AE는 선형 보완이 아닌 것 같기 때문에, 거기는 고쳐야 한다.

그리고, 원래 이런 노드가 있을지도 모른다. 없다면 위치 이외에도 대응할 수 있도록 범용화하여 HDA로 하면 좋을지도 모른다.



이하 적절한 캡처.






좋은 웹페이지 즐겨찾기