air필드는 말 그대로 '바람'이다. 뭔가 휘날리는 씬을 연출할 때, air필드를 사용하면 쉽게 표현할 수 있다. 그리고 아마도 바람 필드를 사용하기 가장 적절한 씬은 '흩날리는 파티클'이 아닐까한다. 애니메이션이나 가을을 보여주는 CG광고에 자주 등장하는 장면이 흩날리는 파티클 효과다. air필드는 x맨과 같은 CG과다형 영화에 꼭 필요하다. 


이번 포스팅에서는 파티클을 낙엽 오브젝트로 복사한 뒤, 흩날리는 낙엽 효과를 연출해보자. 


1 씬 생성하기

아래와 같은 낙엽씬을 만들어야 하는데, 이를 위해서는 투명 쉐이더를 설정하는 방법을 알아야 한다.



2 파티클 생성

투명 쉐이더를 만들기 전에 일단 이리저리 흐트러져 있는 파티클들을 생성해보자.

파티클들이 흩어져 있는 모습은, 청소기를 만든 newton필드 포스팅에 자세하게 설명돼 있다. 아래처럼 wind noise와 initial state를 활용하여, 무질서로 흐트려져 있는 파티클 씬을 연출한다.


흩어져 있는 파티클을 낙엽으로 변경시키려면, instancer 기능을 사용해야 한다. instance는 복사한다는 의미인데, 주로 수많은 군중이 모여있거나 전쟁의 배경씬에 사용한다. 수천개의 파티클로 수천개의 모델링을 대체할 수 있기 때문에 영화작업에서는 필수적인 기능이라 할 수 있다. 


낙엽 텍스처를 불러와서 아래와 같이 plane에 낙엽 텍스처를 적용한다. 여기서 투명 쉐이더를 만들기 위해서는, 알파맵과 배경이 투명한 텍스처 크게 2장이 필요하다. 


1] ai standard surface 쉐이더의 Base항목에 배경이 투명한 칼라 텍스처를 넣어준다.

2] 아래사진처럼 알파 텍스처를 준비해서, geometry 항목의 opacity맵으로 넣는다.(transmission탭을 설정하지 말것)

3] specular 수치는 제로세팅한다. 



투명으로 변해야하는 폴리곤 매시는 arnold탭으로 가서 opaque 체크해제를 한다. (중요)


최종 랜더링을 진행할 때에는 파티클의 primary값을 꺼준다. (랜더링에서 나오지 않음)



3 mass값 설정

mass는 말 그대로 질량이다. 낙엽들이 바람에 굴러다닐 때는 제각각 모션이 달라지는데, 질량과 모양이 다르기 때문에 각각 다른 움직임이 나온다. 만일 시뮬레이션에서 이를 표현하려면, expression의 rand( )함수를 사용해야 한다. 


Per Particle Attribute에서 Mass항목으로 간다. 그리고 expression을 실행한다.(사진참고) 

mass값이 1 ~ 50 사이에서 무작위로 설정이 되면, 필드들의 magnitude수치가 50일때, mass에 따라서 제각각 모션을 취하게 된다. 



4 인스턴스 생성

낙엽 폴리곤 매시를 선택한 후에 instancer를 실행한다. 복제할 폴리곤 매시가 2개이므로 instancer에는 파티클id별로 복제가 진행되어야 한다. 그 다음으로는 인스턴스에서 cycle값에 'sequential'로 설정하고, cycle step unit을 'frame'으로 지정한다. 그리고 인스턴스를 생성할 때는 particle id로 하단의 값을 선택한다.  


낙엽이 움직일 때는 회전이 있어야만 현실적인 느낌이 살아난다. 지금은 마치 빳빳한 종이조각들이 뭉쳐져 날리는 느낌이다. 여기서 회전질감을 넣어보자.


회전하는 동작을 만들기 위해서 파티클 shape노드에서 physical rotate(isntancer)값에 체크를 한다. 그리고 해당 노드값이 있는 창을 아래로 내려보면, 다음과 같이 instancer 중력필드를 선택하는 항목이 나타나는데, 여기서 해당 중력필드를 선택하고, rotation 값에 rotationPP를 선택한다. rotationPP란, 각 파티클별로 회전을 설정할 수 있다는 의미와 같다. 


인스턴스의 움직임은 physical rotation탭에서 키값을 설정해서 회전을 연출한다.



5 유니폼 필드 생성

유니폼 필드를 생성하고, 강도를 처음에는 세게하다가 갑자기 0이 되도록 키를 설정한다. 여기서 유니폼 필드의 수치까지 살짝 조절해주면, 바람이 확 몰아치면서 낙엽이 날아가는 장면을 만들 수 있다.


낙엽이 날아가는 장면을 아놀드로 랜더링하면서 느낌을 살린다.



6 에어 필드 & 드레그 필드

에어 필드를 생성하여, volume을 sphere로 설정하고, magnitude와 inherit velocity를 아래와 같이 설정해준다.


에어 필드를 낙엽 파티클 사이에서 이리저리(실시간 플레이) 움직여보면, 마치 범퍼카가 움직이는 것처럼 낙엽이 부딪쳐서 날아가는 장면을 볼 수 있다. 


spread값에 체크를 하면, 낙엽이 산개되면서 흩어진다. 드래그 필드역시 air필드와 같다. 드래그 필드를 사용하면, 낙엽이 필드에 달라붙는 효과를 확인할 수 있다.