Blood(1) 파편에 피가 튀기는 장면 연출


피와 관련된 특수효과는,

아동용 애니메이션을 제작하려는 이에게는 적합하지 않은 기술(?)이다.


만일 지루한 세상에 뭔가 재미있는 것들을 던지고자 CG를 배웠다면, 피를 튀기는 효과는 필수적인 CG기술이다. 안타깝게도 즐겁고 재미있는 영상들은 대개 선정적이거나 폭력적인 내용을 많이 담고 있기 때문이다. 문제는 이를 어떻게 잘 순화하느냐에 달렸다.


이번 포스팅에서는, 피가 튀는 Blood 특수효과를 만들어보자. 


일단 마야를 켜기전에, 자신이 만들고자 하는 장면과 함께 간단한 애니메이팅을 기획해보자. 


시작 전에 rivet 플러그인을 설치해야 한다. rivet플러그인은 엣지를 2개의 사이에 로케이터를 붙여주는 역할을 한다. rivet툴이 없다면, 면에 follicle을 생성해서 파티클을 parent해줘야 하기 때문에 상당히 귀찮아진다. 


따라서 아래 rivet툴을 다운받아서 마야에 설치하도록 하자.

rivet-v1.0-.zip

1 『rivet 적용』

피가 튀겨져야 할 부분의 엣지를 2개 선택(2개이상 X )을 하고, rivet mel을 실행한다. rivet툴을 실행하면, 아래 사진처럼 로케이터가 자동으로 생성되어 해당 엣지 사이에 달라붙는다. 


생성된 로케이터는 계속 해당 매시를 따라다닌다.


2nParticle Emitter 생성

nParticle메뉴에서 emitter를 생성한다. (실행은 아래 사진 참고)


emitter이름은 blood로 지정하고, 방향은 'directional'로 지정한다.


3 『rivet & Emitter 페어런츠』

rivet 로케이터에 파티클 emitter가 따라다녀야 한다. rivet 로케이터를 먼저 선택하고, blood(emitter)를 선택한 후에 parent constrain을 한다. 


이때 maintain offset은 체크해제한다. (rivet 로케이터 위치에 emitter가 달라붙어야 하기 때문)


키프레임 애니메이팅을 실행해보면, 아래와 같이 파티클들이 토러스를 따라다니면서 생성되는 장면을 볼 수 있다.


4 『n파티클 설정

피는 뭉쳐진 상태로 흩어진다. 액체 자체가 점성이 강하기 때문에 아래와 같이 inherit factor값을 0.5 정도로 설정해준다. inherit factor값에 따라서 파티클들이 뭉쳐진 형태로 모여서 생성되거나 넓게 퍼지는 현상이 나타난다. 


* LifeSpan 설정

 lifeSpan은 말 그대로 파티클들이 태어나서 사라지는 상황을 통제하는 속성이다. 


mode를 Constant로 두고, lifeSpan값을 '2'로 설정한다. (2초 후에 사라짐) 피가 계속 나올 수는 없으니, 해당 프로젝트에서는 lifeSpan값을 2초 정도로 설정한다.


* shading

shading 탭으로 가서, render type을 Blobby surface(s/w)로 지정한다. 

해당 프로젝트에서는, 마야 software랜더링을 할 예정이므로 blobby surface type을 사용한다. 


* particle size

파티클 사이즈를 0.05~0.09 정도로 설정하고, Radius scale input에 'Randomized ID'를 선택해서 아래 'Radius scale Randomize' 값에 따라서 랜덤으로 파티클 크기가 변경될 수 있도록 설정한다.  (아래 사진 참고)


만일 randomize ID를 설정해주지 않으면, randomize 수치를 아무리 조절하더라도 파티클 크기가 랜덤하게 변하지 않으니 주의한다.


5 『파티클 양 조절

입자를 생성하는 emitter를 선택하고, Rate값에 키를 설정한다. 0프레임에서 rate값을 '0'으로 설정하여, 파티클이 나타나지 않도록 통제한다.


1 혹은 2프레임에서 파티클 양을 2000 정도로 올린 후, key를 설정한다.(갑자기 피가 튀어나오는 느낌)


5~6프레임에서 rate: 2000 값으로 키를 한번 더 설정한 후에, 7프레임에서 다시 rate 비율을 0으로 키를 준다.


6 『nParticle 외부영향 설정

파티클 shape Attr에 가서, spread 수치를 0.05정도로 높인다. (입자가 살짝 펼쳐진다) 

speed값과 speed random값을 1~2 사이의 범위 내에서 테스트해본다. (아래사진 참고)


* playback 스피드 설정

playback by: 값을 0.1로 설정하면, 한 프레임당 10배 더 계산해서 파티클 장면이 연출된다.

즉, 10배 초고속 촬영을 한다고 생각하면 이해가 쉽다. 피가 튀는 파티클 장면은 입자가 순식간에 많이 나올수록 실사감이 높아진다. playback by값을 0.1로 설정해준다.


playback by값이 0.1로 되자, 아래처럼 입자량이 늘었다.


파티클이 너무 멀리까지 뻗어나간다면, Distance/Direction Attribute에서 Direction X,Y,Z 중의 값을 조절한다. Direction 수치에 따라서 입자의 거리와 방향이 달라진다.


blood (2)편에서 계속...