안녕하세요 이번에 주르르님의 4번째 커버곡 '어푸'에서 의상모델링시뮬레이션 파트를 맡게된 안티모니입니다!

일단 먼저 4개월동안 고생해주신 르르님과 팀원분들 다들 고생이 많으셨습니다 ㅠㅠ

이 팀이 만들어진지 4개월정도 되었는데요, 4개월 전에 처음 연락을 받았을 땐

주뗌므때 '안녕'의 배경영상으로 나오는 IRAIN님의 일러스트 의상 하나 모델링 하는 것으로 들어 왔었습니다

개인적으로 주뗌므 작업하면서 제 최애곡이 '안녕' 이였는데 그 의상을 만들 수 있어서 기쁘게 참여를 했었습니다!

(이때까지만 해도 의상 모델링 하나만 하면 끝나는줄 알았습니다 ㅎㅎ.. 멈춰)

하지만 세상은 호락호락하지 않았고 정말 작업과정에서 산전수전 다 겪으면서 제작했던것 같습니다 ㅋㅋㅋㅋㅋ

(중간 중간에 움짤은 더블 클릭하시면 다시 재생됩니다)

1. 아바타 수정

일단은 첫번째 작업은 "아바타 수정" 이였습니다

일단은 르르님 페이셜이 피들르르 아바타로만 되어 있어서 페이셜 아바타를 유지하면서 체형을 교체해야 했습니다

(페이셜이라 모델링의 목부분도 같이 움직여가지고 목 자르고 몸 붙이고 .. 아무튼 대수술이였습니다)

또한 언리얼엔진에서 작업을 하기 때문에 "얼굴 노멀"에 대한 작업을 따로 해줘야 했습니다

쉐이더에 대해서 잘 알지는 못하지만, 언리얼에서는 VR챗에서 쓰는 툰쉐이더가 아닌 라이팅을 물리기반으로 계산을 하기 때문에 그림자의 방향을 결정해주는 노멀을 수정해주고, 눈에 그림자 지는 부분을 막아줘야 했습니다

수정전 수정 후 (얼굴 그림자)

이제 수술 다 끝내고 애니메이터분께 넘겨드릴려고 하는데,, 여기서 문제가 발생하게 됩니다

여기서 이 상황을 이해하려면 '노멀'3D프로그램 사이의 관계 이 2가지를 알아야 합니다

일단 노멀이란 '표면의 그림자의 방향을 결정해주는 거시기' 라고 생각하시면 됩니다

이렇게 노멀을 돌리니까 표면의 그림자도 바뀌죠? 그런 역할입니다

그리고 2번째, 3D프로그램끼리 불화설이 있었습니다.. 상황 요약하자면

블렌더에서수정한얼굴노멀값이맥스에서바이패드로리깅해서언리얼엔진으로넘어가면얼굴의노멀이깨져서맥스에서바이패드리깅한걸블렌더로불러와서얼굴노멀수정된걸로교체한후에언리얼엔진으로넘기니까애니메이션이깨져가지고저는블렌더사용잔데맥스를배워가지고바이패드리깅된캐릭터에얼굴노멀을맥스로수정을할까해서맥스도배워봤지만결국에는3D프로그램자체의OpenCL과DirectX의차이때문에발생한걸로파악되서그냥서브스턴스페인터에서얼굴노멀맵을구워가지고언리얼엔진에넣으니까쉐이더와함께잘작동이되었습니다

그냥 사진 한장으로 대체하겠습니다

네.... 어떻게든 잘 처리를 했습니다

점점 길이가 길어지는 파일명..

2. 의상모델링

두번째는 원래 본 목적이였던 의상모델링을 했습니다

메인의상은 아까 말했듯이 IRAIN님의 일러스트를 레퍼런스 삼아서 했습니다

어푸가 약간 바다분위기에 바람도 살랑 살랑불면 옷도 살랑살랑 흔들려야 될것 같아서

'마블러스 디자이너'를 이용해 의상을 제작하고 이후에 시뮬레이션도 같이 했습니다

마블러스 디자이너라는 툴이 일반적인 3D모델링을 해서 의상을 제작하는 것이 아니라 실제 의상을 제작하듯이

2D패턴을 아바타 몸에 맞게 제도를 한뒤에 바느질 짜듯이 시뮬레이션을 돌려서 의상을 제작하는 툴이라서 2D패턴을

아바타 체형에 맞게 제도했었습니다

2D패턴 제도

바느질 시뮬레이션

이런 바리에이션도 있었습니다

모델링 최종 완성

사실 UDIM방식으로 텍스쳐 퀄리티 높일려고 했는데 언리얼에서 뱉더라고요..

텍스쳐 완성

모자 모델링은 빨리 빨리 했고, 텍스쳐에 투자를 많이 했었습니다

밀짚모자 특유의 패턴을 만들기 위해서 서브스턴스 디자이너에서 패턴을 만들었습니다

요런 꽁지 뒤에 달리는 리본도 만들었습니다

하이라이트 씬에 나오는 의상에서 치마 부분도 새로 만들어주고 텍스쳐도 새로 칠해줬습니다

3. FX 시뮬레이션

제일 힘들었던 부분이였습니다 ㅎㅎ..

일단은 어떤 상황이였는지 말씀드리기에 앞서서 DCC툴과 게임엔진툴의 차이점을 알아야

조금 이해가 될 수 있습니다 저도 이번에 어푸하면서 크게 깨달았던 점이였습니다... ㅎㅎ

DCC툴이란 디지털 컨텐츠를 만드는 툴을 의미합니다 즉 모델링, 애니메이션, FX등을 만드는 툴입니다

(블렌더, 3DSMAX, MAYA, C4D, Houdini등이 포함됩니다)

그래서 원래라면 3D애니메이션은 DCC툴내에서 만드는 것이 일반적인 방법이지만,

(예를 들어, 겨울왕국2는 MAYA를 주로 사용했습니다)

어푸 말고도 다른 이세돌분들 뮤비를 게임엔진(유니티 시네머신, 언리얼 시퀀서)에서 3D애니메이션을 만드는 이유는

이세돌분들의 아바타가 툰캐릭터라서 그에 맞는 툰쉐이더를 써야지 어색하지 않은 씬을 얻을 수가 있기 때문입니다

하지만 게임엔진에서 영상 애니메이션을 하기에 적합하지 않은 이유는 게임엔진은 말 그대로 게임을 만드는 툴,

실시간으로 적어도 30FPS이상은 렌더링을 해야되기 때문에 최적화를 엄청나게 하기 때문에

DCC툴에서 만들고 렌더링 하는 것 보다 퀄리티가 낮아지는 문제가 있습니다

DCC툴은 한장 렌더링하는데 몇분, 게임엔진은 최대 1/30초이니까 차이가 있을 수 밖에 없습니다

그래서 원래 계획은 언리얼에서 해변 Fluid, 구름등을 제작할 계획이였으나 중간에 이런 퀄리티적인 문제로

영화처럼 캐릭터와 의상은 언리얼, FX나 배경등은 DCC툴에서 제작하고 합성하는 방향으로 제작되었습니다

아무튼 그러한 이유로 제가 블렌더에서 해변과 구름쪽 시뮬레이션 파트를 제작하기로 되었습니다

(1) 의상 시뮬레이션

의상 같은 경우에는 원래부터 바람이 불어서 치마가 살랑 살랑 거리는 것을 표현하기 위해서 마블러스 디자이너에서

의상을 제작하고 시뮬레이션까지 예정되어 있었습니다

https://youtu.be/dWpZnXSOwik

그래서 각 천마다의 시뮬레이션 값을 맞춰주는 작업을 먼저 했습니다

그 다음에 각 애니메이션마다 의상 시뮬레이션을 돌려줬습니다 앉는부분, 의상 튀는 부분, 팔에 걸리는 부분,

마블러스 디자이너 자체의 한계점등 문제가 조금 많았으나 어지저찌 해결을 했던것 같습니다

의상 시뮬레이션은 DJINIS님과 서세오님이 많이 도와주셨습니다 ㅠㅠ

(2) 구름

구름이나 가스 시뮬레이션, 파도 시뮬레이션 부터는 아예 어푸하면서 계속 공부하고 깨부하면서

처음해보는 것들이라서 시간도 그렇고 우여곡절이 많았습니다 ..

<구름>

일단 하이라이트 씬에서 떨어지는 장면에서 주변에 있는 구름을 만들어야 했기 때문에 블렌더에서 구름을 어떻게 만들지 엄청 찾아본 결과 구름은 블렌더 내에서 만드는 방법이 3가지 정도 있었습니다

1. 메쉬를 구름 처럼 만들어서 VDB로 바꾼다

2. Volumetric Shader를 만들어서 구름으로 만든다

3. 외부에서 이미 만들어진 VDB파일을 가져온다

3가지마다 각각 장단점이 있었습니다

첫번째 방법은 가볍지만 퀄리티가 떨어지고 대량생산이 불가능해서 탈락

두번째 방법은 원하는대로 만들 수 있고 다양하게 대량생산이 가능

세번째 방법은 퀄리티는 최대지만 엄청나게 무거움

그래서 2번째 방법과 3번째 방법을 시도했었습니다

https://youtu.be/jmf2tlnDfuE

2번째 방법의 결과로 요런 쉐이더를 만들어 줬습니다

3번째 방법은 그냥 외부에 있는 팔거나 무료로 배포되어 있는 VDB구름을 가져오는 방법이였어서 퀄리티 높고

쉽지만, 렌더링할때 매우 무거웠습니다(3090컴퓨터로 1장당 10분이 걸렸습니다)

2번째 방법과 3번째 방법중에서 그냥 팀원분들의 RTX3090 그래픽카드로 렌더링 하자는 결론이 나와서

최종적으로 외부에서 만든 VDB를 넣고 렌더링을 했습니다

(3) 유체 시뮬레이션 : 연기

유체 시뮬레이션은 이번에 어푸하면서 처음 해보는거라 공부를 엄청 많이 했어야 했습니다 ㅋㅋㅋㅋ

유체 시뮬레이션에는 옵션도 너무 많고 옵션을 모르면 원하는대로 만들 수가 없어서 모든 옵션 하나 하나를 다

공부하면서 테스트도 해보고 만들고 시뮬레이션을 돌리면 일단 기본 10분 마지막 해상도를 높였을 때는 38시간까지

기다려야 하는 파트라서 굉장히 시간이 오래걸렸던 파트였습니다...

이번에 하면서 공부한것들 입니다...

그래서 최종적으로 이렇게 완성했습니다 (Resolution은 낮은 상태)

(3) 유체 시뮬레이션 : 물

제일 어려웠던 해변 파트였습니다!

해변은 리나님이 만들어주신 레퍼런스를 토대로 만들었습니다

이게 해변이 그냥 유체 시뮬레이션을 놓고 돌린다고 해서 만들어지는 것이 아니라 실제 파도가 치는 방식을

이해해야지만 제대로 만들 수 있었습니다

그래서 파도가 치는 방식에 대해서도 공부를 했습니다 ㅋㅋㅋㅋㅋ 지구과학 다시 공부하는 듯했지만

원리는 대충

자연적으로는바람이불어서위아래로출렁이다가물과바닥과의거리가줄면서파장이짧아지게되고파도위쪽은앞으로가려는힘과바닥과마찰력에의해서회전을발생시켜서파도가치게됩니다하지만인공적으로만들어야하므로인공적으로위아래진동을만들어주고브레이커라고하는턱을몇단으로만들어서파도가몇겹으로쌓이면서치게일부로만들었씁니다

여러번의 테스트로 나온 해변 단면

메가스캔등으로 해변을 완성했습니다

영상에는 안나왔지만 이런 것들도 만들었습니다 ㅎㅎ

유체 파티클

정말 시간이 오래걸렸던 유체 시뮬레이션이였습니다...

CPU는 최고사양 i9 12세대사용을 했음에도 불구하고 해상도를 낮춰서 봐도 결과물을 보려면 최소 10분 거의 마지막에 최종본을 만들 때에는 고작 300프레임이지만 34시간동안 시뮬레이션 계산이 필요했었습니다

최종 시뮬레이션 Stats

또한 해상도를 낮춘 결과값과 해상도를 높인 결과값이 달라지기 때문에

최종본을 만들 때 예상을 할 수가 없어서 더욱 어려웠던 작업이였습니다

38시간이나 걸린만큼 데이터도 무거워서 4000만 복셀(파티클 수는 복셀 그 이상입니다) 시뮬레이션 연산한 데이터가

700GB나 차지해서 다른 분 컴퓨터 저장용량을 꽉차게 만든적도 있고,,, ㅎㅎ

파도에 의해 바닥이 젖는것을 표현하기 위해 Wetmap 제작

시뮬레이션이 1~2프레임만 돌리면 터져서 CMD창으로 렌더링을 하는 방식을 이번에 처음 알아서 해봤는데 너무 잘되었습니다

구름과 파도 렌더링 도와주신 서세오님 고생이 많으셨습니다 ㅠㅠ

그렇게 해서 나온 결과물

(뭔가 다 같이 한꺼번에 빨리 빨리 올리느라 감사인사를 못적었습니다 ㅠㅠ)

총괄하시고 감독하시고 계속 밤새가시면서 렌더링이나 이것저것 다 도움주신 서세오

밤새가시면서 애니메이션 잡으시고 의상 시뮬레이션 도와주신 DJINIS

밤새가시면서 3D로 만들어 드린거 컴포지팅하시고 색보정, FX, 편집을하신 PingPong

멋진 버스와 어푸에서의 예쁜 배경을 모델링 해주신 Hyo_ya

르르님의 여성스러움을 지켜주면서 모션캡쳐를 담당해주신 초은하

모션캡쳐클리닝을 도와주신 Se님 애니메이션 도와주신 Honey_Choi님, Gray_Hound

언리얼엔진 배경이나 렌더링등 전반적으로 다 담당하신 OJIK

원신 느낌의 쉐이더를 만드느라 고생하신 O$CAR님, 이스타리

룩에 어울리는 예쁜 텍스쳐를 만들어주신 주피더님, 플레어건님, 바리형아

스토리보드와 어푸 표지 예쁘게 만들어주신 오슈이

스토리보드와 색감이나 환경 컨셉아트를 만들어주신 리나

믹스,마스터링,보컬 디렉팅 도움주신 믹스마스터

어푸 노래의 베이스에 도움주신 햄마님, 기타에 도움주신 피자마스터

그리고 도움주신 루나틱스님,쿠케나님,은지님,MIRO님,기탄수님,초원의야생마님,KOYO님,임경섭

그리고 마지막으로 디코방에서 밤새시면서 팀원분들 응원해주시고, 노래 멋지게 녹음해주신

주르르님 다들 너무 너무 고생하셨습니다 ㅠㅠ