마야에서 shatter효과 랜더링하기


VFX 초기포스팅에서, nCloth를 활용한 shatter효과를 생성하는 방법을 알아봤었다. 지난 번 blood를 표현하는 포스팅에서는 maya소프트웨어를 사용했었다. 이번 shatter에서는 일반 폴리곤 매시를 사용하기 때문에 arnold랜더러를 활용해서 진행해보자.


1 『랜더 레이어 생성』

shatter 레이어를 생성하고, create collection을 실행한다. 또, ai skydom과 ai sky 라이트(transform), directional라이트 2개를 생성해서 아래처럼 넣어준다.


window 매시에 ai standard surface 쉐이더를 적용한다.


2유리재질 만들기』

혹시 유리 재질을 만드는 방법을 모른다면, 그냥 default 셋에서 glass재질을 설정해준다.


유리 폴리곤의 arnold 세팅에서 opaque를 켜준다. 


3 『유리창 키설정』

유리창이 깨어지는 프레임 전까지는 전혀 균열이 없는 폴리곤 매시가 보여야 한다. ncloth 시뮬레이션이 제대로 동작하는 8프레임전까지 임시 유리창 mesh를 세우고, 7프레임에서 visible을 off하는 키프레임을 설정한다.


랜더링을 진행해보면, 반사가 제대로 되지않고 있음을 확인할 수 있다.


랜더 세팅에서 ray depth값을 아래처럼 설정해준다.


ai sky라이트의 render 설정을 아래와 같이 설정해준다. 


이제 반사광을 만들어보자.


아래처럼 바닥을 복사해서 창문 뒤쪽에 위치시키고, surface 쉐이더(high설정)를 적용한 후에 hdr 파일을 삽입한다.


area라이트를 생성해서 반사광이 유리창에 비치도록 각도를 설정한다.


테스트 랜더링을 진행해보면, 깨어지는 유리창에 반사광이 나타난다.


4 『AOV설정』

랜더패스 중에서 반사와 관련된 것은 indirect diffuse(specular), refraction(굴절), refraction opacity값이다. 참고사항으로는, select driver에서 merge에 체크하면, exr내의 채널형태로 랜더링된다.


shatter레이어에서 유리창 밖의 오브젝트들은 랜더링되면 안 된다. (합성하는데에 방해)


따라서 모두 matte설정으로 체크한다.


패스가 너무 많다고 생각된다면, 아래의 2개 패스만으로도 합성 시 충분한 설정을 할 수 있다.

엄청 급할때는 아래 2개의 패스만 사용해도 상관없다.