본문 바로가기

Cinema 4D

xpCache로 파티클 속도 제어하기

xpCache를 캐시뜨는데만 사용하지 말고 전체적인 시뮬레이션 속도를 제어하는 용도로 사용해보자.

원하는 모양의 파티클 시뮬레이션이 나왔을 때 전체적으로 속도를 느리게 or 빠르게 해야하거나, 텐션감을 줄때 매우 유용하다.

 

우선 예시로 쓰일 간단한 파티클 시뮬레이션을 만들고 (xpTurbulence - Noise Type - Curl 사용)

 

xpCache를 생성하여 파티클 시뮬레이션을 베이크한다.

 

내가 속도를 조절하고 싶은 Emitter의 xpCache 태그(xpCache를 건드리면 안되고 태그에서 설정해야됨)를 들어가서 Overide를 체크하면 밑에 비활성화된 파라미터들이 활성화된다. 이제 파티클 속도를 조절하기 위한 세팅이 끝났다.

나는 이런 종류의 작업을 할 때, 시뮬레이션을 돌릴 프로젝트를 나두고 프로젝트를 복제하거나 다른 프로젝트 파일에서 xpEmitter와 xpCache를 옮겨서 작업하기도 한다. 이 방법이 최적화에 좋기도 하고 xpCache의 overide 옵션 등을 계속 번거롭게 만져줄 필요가 없다. 시뮬레이션이 많이 복잡하다면 정확성을 위해 한 프로젝트에서 작업하는게 유리할 수도 있다.

 

Retiming에 여러 옵션들로 파티클 속도를 제어할 수 있다. 여기서부터는 이것저것 만져보면서 기능들을 익히는게 글을 보는 것보다 더 빠를 듯 하다.

 

위 예시로 간단하게 xpCache 기능들을 설명하자면

Local Coords를 활성화하여 파티클 에미터의 포지션에 따라 파티클의 위치를 바꿀 수 있도록 설정하였고

Retiming을 기본 옵션인 Disabled로 설정하면 OffsetScale을 설정할 수 있는데 Offset은  파티클이 시작될 프레임, Scale은 파티클의 전체적인 속도를 나타낸다. Auto Time은 파티클의 캐시 프레임 범위를 자동으로 맞춰주는 옵션이다. 만약 파티클 시뮬레이션의 일부를 제외하고 싶다면 Auto Time을 해제하고 StartStop을 설정해주면 된다.

 

OffsetDisabled 옵션 말고 다른 옵션(Frame, Time, Custom)도 사용하면 좋은데,

Disabled - 모션감 없이 파티클 전체 속도를 조정하고 싶을때

Frame - 키프레임을 찍어 파티클 속도를 모션감있게 조정하고 싶을때

Time - 시간 초단위라서 거의 안씀

Custom - 커브 형태로 타임라인에 키프레임 안찍고 직관적으로 모션감있게 속도 제어하고 싶을때

 

 

xpcache로 속도를 제어할 경우 좋은점은 파티클 전체의 모션감을 줄 수 있을 뿐만 아니라 아무리 속도를 느리게 해도 베이킹된 파티클의 이전 프레임과 다음 프레임 사이를 추가로 계산한다. 마치 애프터이펙트 트윅스터 플러그인처럼.

이 기능을 사용할때 주의할 점,
 1. 파티클이 생기는 애니메이션은 프레임단위로 생기므로 파티클 속도를 너무 느리게하면 파티클이 매 프레임마다 생성되지 않고 여러 프레임에 한번씩 뚝뚝 끊기게 생성돼서 어색하게 보일 수 있다.
 2. 파티클을 Generator 등으로 메시로 변환할 경우가 생길때 해당 Generator의 xpCache 태그는 삭제하고 오직 Emitter에만 xpCache를 다는 걸 추천한다. 메시로 변환된 시뮬레이션을 베이크할 경우 파티클을 속도를 느리게 했을때 프레임 사이사이 계산이 안되기 때문에, 파티클을 베이크하고 속도를 먼저 제어한 뒤 이후에 제너레이터 기능을 활성화하여 해당 파티클 속도에 맞게 메시가 생성되도록 하면 더 정확한 시뮬레이션이 나온다. Fluid를 다룰때 사용하면 유용할듯 하다.

 

내용에 잘못된 부분이 있을때 댓글로 알려주시면 최대한 빨리 수정하겠습니다.