Houdini/Filp Sim

Ripple_base_set

징니쓰 2022. 7. 18. 18:58

[포인트 1개의 위치점으로 부터 생겨나는 ripple 을 제작하는 setup]

 

 
 

1. 원점으로부터의 거리 구하기 (2가지 방법)

1) length node

: 임의의 포인트 @P 에서 원점을 subtract 해서 두 사이의 거리를 구한다.

 
 

2) distance node

: p01 과 p02 의 거리를 구해준다.

 
 


2. sop에서 @P 위치값을 불러와, 그 위치에 ripple이 생기게 하는 방법

: sop에서 위치를 프로시쥬얼하게 옮기며 작업 가능

 
 

결과 : add 로 위치값을 이동하면, 바로바로 위치가 따라온다.

1) import point attribute 생성

2) sop에서 만든 2번째 input 에 꽂힌 add의 P 값을 불러오도록 연결해준다.

3) 1번에서 만들었던 length와 distance 와 같이 사용한다.

switch를 이용해서 2가지 방법 모두 잘 작동하는지 확인했다.

3. sine 값 이용해서 움직임 만들기

1) trigonmetric functions > function : sine 만들어주기.

* ripple의 움직임은 sine 그래프를 이용한다.

* sine 노드를 사용해도 무관하나, frequency , offset 의 parameter 가 이미 만들어져 있는

trigonmetric functions 을 사용하는게 더 편리하다.

sine 노드를 사용하면, parameter 들을 직접 만들어 주면 똑같이 작동된다.


2) Y 축으로만 sine 을 사용한다.

위 아래의 움직임만 있으면 되기 때문에 , y값에만 sine 값을 사용해야한다.

x,y,z 중에서 y값만 사용하기 위해서 vector 를 float 으로 풀었다가 다시 vector로 변환해주는 방법을 사용한다.

 
 


3) offset 값에 time 을 연결해서, 시간에 따라 물결처럼 움직이도록 한다.


4) fit range 로 ripple 생성 반경 조절한다.

fit 으로 만든 반경을 cd 에 연결해서 확인하고, sine 움직임과 multyply 해준다.

* multiply[0] : distance

multyply[1] : fit range

 
 


5) ramp parameter 로 좀더 부드럽게 영역 만들어 주기.

 
 

 
 

** ramp parameter는 vop 밖에서 만져줘야 먹는다.

vop 내부 그래프는 작동안함!


6) exponetial node 로 점점 감소하는 모양 만들기

이론설명 >

ripple 은 처음 발생하는 중앙에서 힘이 제일 쎄고 밖으로 퍼져나갈수록 힘이 감쇄된다.

함수중에서 , exponential 이라는 함수가 있는데 본래 급상승 하는 그래프 모양을 가지고 있다.

이 함수에 negative 를 사용해서 급 하강 하는 그래프로 사용하면,

리플에서 힘이 급감소하는 모양으로 만들 수 있다.

* pow 로도 비슷하게 만들수 있지만, pow는 급격하게 상승하는 그래프가 아니기 때문에,

ripple에서는 exponential 을 쓰는게 좋다.

 
 

exponential 그래프

노드 만들기 >

 
 

6-1) exponential 노드를 sine을 만들었던 노드 바로 뒤에( trigonmetric functions ) 연결해준다.

 
 

6-2) exponential 노드 앞에 negative 를 달아줘서 증가하는 힘에서 감소하는 힘으로 변환한다.


7) amplitude (세기) 만들어주기

: 6번에서 만든 negative 바로 앞에 multiply 로 amp 파라미터를 만들어서 amplitude 로 사용한다.

 
 


8) 속도 조절하기

: trigonmetric functions > offset 에 speed 파라미터 만들어서 곱해준다.

 

 
 

ripple_base_set.hipnc.zip
0.02MB

 

<만드는 순서 정리>

1. ripple 생성 할 position 역할 할 point 설정( =A라 하겠음)

2. 원점으로부터의 거리감 구하기 ( 원점 - A )

3. sine 으로 움직임 만들기 (sine의 offset 을 time 에 연결해서 움직임 생성)

4. fit range 랑 ramp 사용해서 반경 설정하기

5. exponential 사용해서 decay 되는거 만들기

'Houdini > Filp Sim' 카테고리의 다른 글

blood_flip  (0) 2022.05.13
white water simulation  (0) 2022.04.13
water tank  (0) 2022.04.13
White water simulation 이론  (0) 2022.04.13
Flip Simulation 기초 이론 정리  (0) 2022.04.13