VFX

[MASH & Maya Tip] 세포체 제작 및 애니메이션 [2]

by MoGL3D 2024. 3. 8.

 

영화에서 세포체 내부의 핵은 조금씩 움직이는 경우가 많기에 모션이 필수적이다.

그런데 세포 내부의 핵은 불규칙적으로 움직이므로 이를 표현하기 위해서는 Maya의 Expression이 필요하다.  

 

 

 


1 세포핵 움직임 표현

세포핵 클러스터를 모두 그룹으로 설정한 후, 그룹의 translateX값에 Expression을 설정한다.

 

 

 

 

불규칙하게 떨리는 세포핵을 표현하기 위해 'noise()함수'를 적용한다. 임의로 설정한 진폭($amp), 진동값($vib)을 테스트해보자.(타임라인 play실행) 세포핵 모션의 범위가 너무 크면 조금씩 값을 조절해준다. 

 

세포핵group의 Expression설정

 

 

 

**타임라인의 play를 실행했을 때, 세포 폴리곤이 하락한다면 'Nucleus'노드의 중력값(gravity) 때문이다. 혹시 중력값이 있다면, '0'으로 설정해준다.

 

Nucleus중력값 제로세팅

 

 

나머지 그룹의 Expression도 아래와 같이 설정해준다.

 

 

 

 

 

 

 

 

 

 


2 세포막 모션 설정

이전 포스팅에서 Parent(부모자식 설정)를 설정했다면, 세포핵은 세포막의 키값에 따라 저절로 움직이게 된다. 이 상태에서 아래처럼 0, 20, 60프레임에 전체 키 설정을 해준다.

 

 

 

보통 세포는 기계적으로 분화되지 않는다. 분리될 때 약간 저항값을 갖는 모습을 보이므로 아래와 같이 간단한 키값을 설정해준다. 

 

 

 

 

 

 

 


3 그래프에디터 설정

위의 모션에서 '세포체01, 02'는 오른쪽으로 움직였고, '세포체03,04'는 왼쪽으로 움직이며 분리가 되었다. 최종적으로 세포체 4개가 생성되려면 아래와 같은 순서가 필요하다.

 

<ㅡㅡ 첫번째 분리 ㅡㅡ>

① 세포체01, 02 > 오른쪽( translateX )

② 세포체03, 04 >  왼쪽( -translateX )

 

<ㅡㅡ 두번째 분리 ㅡㅡ>

③ 세포체01 > 앞쪽( translateZ )

④ 세포체04 > 뒤쪽( -translateZ )

⑤ 세포체03 > 앞쪽( translateZ )

 

<-- 두번째 분리 --> 모션의 경우에는 새로 키값을 설정하지 않고, 2개로 분리되는 키값을 그대로 이용해보자.

우선, 그래프 에디터(Windows > Animation Editors > Graph Editor)를 실행한 후, 1번 세포체의 translateX값을 복사한다.

 

1번 세포체 TranslateX 키값 복사하기

 

 

TranslateX의 키값이 끝나는 지점에서 세포체가 다시 분리되어야 한다. 이를 위해, 세포체01의 X값을  Z값(앞뒤,깊이)에 그대로 "복사-붙이기"를 실행한다.

 

세포체1 Z키값

 

 

나머지 부분은 전과 동일하다. 세포체 03 & 02, 세포체01 & 04의 움직임이 같기에 각각 X키값을 Z축에 복사-붙이기를 실행하면 된다.

 

세포체03 X, Z키 설정&그래프

 

 

결론적으로 세포체 02,03과 세포체 01,04의 그래프 에디터는 정확히 대칭된다.

 

세포체02,03 & 01,04 그래프 에디터(대칭)

 

 

 

 

 

 

 

 

 

 

 

 


4 쉐이더

아놀드 랜더링을 실행할 예정이므로 세포막, 세포핵 모두 aiStandardSurface쉐이더를 적용해준다.

 

aiStandardSurface쉐이더 적용

 

 

라이팅은 Skydom으로 설정한다.

 

 

 

 

세포막 쉐이더에서 가장 중요한 부분은 '투명도'이다. transmission, Geometry 항목의 설정값에 유의하자.(아래 수치는 절대적이지 않음)

 

세포막 쉐이더 설정

 

 

세포핵은 다소 붉은 계통으로 넣어준다.

 

세포핵 쉐이더 설정

 

 

 

세포막은 표면이 울퉁불퉁하기에 이를 표현하기 위해 Deform > Texture > Fractal을 적용해준다.

 

 

 

 

프렉탈 노드의 값은 임의로 적당히 맞춰준다. 단, 값이 너무 극단적인 경우 튀는 현상(랜더링)이 발생할 수 있다.

 

 

 

 

 


5 랜더링

프렉탈 노드는 표면을 거칠게 한다. 따라서 랜더링 전에 Subdivision수치를 높여줄 필요가 있다. 이를 위해, 세포막 폴리곤의 속성창에서 'Arnold > Subdivision'의 'catclark'값을 2~3정도로 높인다.

 

 

 

catclark수치에 따라 뷰포트 화면과 달리 세포막 표면을 훨씬 부드럽게 랜더링 할 수 있다.

 

랜더링 이미지

 

 

 

** 최종 랜더링을 진행했을 때, 세포핵이 튀는 현상이 자주 발생한다. Deform > Texture 영향에 따라 해당 증상이 심해졌으므로 상황에 따라 Texture디포머 수치를 최대한 낮춰주는 편을 좋을 듯 하다.