Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

테드옹의 VFX

Spiral along curve 본문

Houdini

Spiral along curve

Tedd_Kim 2022. 3. 18. 00:28

파편들이 날아갈 때, 가끔 어떠한 파편들은 엄청난 속도의 나선형으로 날아간다

이렇게 빙빙 도는 모션은 파편 인스턴스에 각속도를 준다고 해결될 것이 아니기 때문에, 시뮬레이션된 파편의 path를 만들고 그 path를 빙빙도는 나선형 path를 생성하여 새로 애니메이션을 줘야한다.

 

[생성할 때 사용할 아이디어]

1. 나선은 주기가 있기 때문에 대표적인 주기함수인 sin과 cos함수를 이용

2. Front view와 Side view에서 각각 -방향과 +방향으로 땡기면 3d뷰에서 나선이 만들어진다

이 때 사용할 방향은

 

[방향 벡터 생성]

1. 커브의 normal인 tangent벡터, up벡터를 외적하여 임의의 벡터를 만들고 (tangent벡터가 제일 중요)

2. 임의의 벡터와 탄젠트벡터를 다시 외적하여 새로운 up벡터를 만든다

 

그럼 커브를 따라서 이러한 벡터가 형성되는데, 빨간색 벡터와 파랑색 벡터방향을 기준으로 각각 주기함수를 사용하고 서로 포지션을 옮겨준 후 덧셈하여 새로운 P어트리뷰트로 지정하면 끝

 

sin과 cos그래프는 단위원일 때 -1부터 1까지의 범위를 가지기 때문에 함수 안에 들어갈 인자만 임의적으로 정해주면 주기를 조절할 수 있다.

 

빨간색 벡터를 코사인함수 기준으로 위치를 옮겨주고

 

파란색 벡터를 사인함수 기준으로 위치를 옮겨주면 나선이 된다.

 

이미 시뮬레이션이 된 rbd piece를 월드좌표 원점으로 옮기고 플레이를 하면 위치는 바뀌지 않지만 계속해서 회전을 한다.

따라서 원점으로 옮긴 후(선택), primuv함수를 사용하여 방금 만든 커브를 따라가게 하면 회전을 하며 나선으로 날아가는 애니메이션이 완성 된다. (다만, 움직이는 거리가 달라졌기 때문에 타이밍은 원본 piece의 움직임을 보며 키프레임으로 잡아야함)

 

 

 

 

polyframe노드 혹은 resample노드를 사용하여 다시 tangent벡터를 구하면 나중에 파티클 시뮬레이션에 사용하던가, smoke trail을 만들 때 velocity볼륨으로 사용하던가, 혹은 모션블러를 적용할 때 사용할 수도 있다.

'Houdini' 카테고리의 다른 글

wedges, dailies 셋업하는 방법  (0) 2022.03.19
Fresnel 이펙트  (0) 2022.03.18
point instance  (0) 2022.03.15
라이팅 필기  (0) 2022.01.29
PBR Rendering 필기  (0) 2022.01.16