본문 바로가기

Numerical Analysis/회사 이야기

[시뮬레이션] 어떻게 하면 실사같은 물 컴퓨터그래픽을 만들 수 있는걸까요?

 안녕하세요. 이노도리입니다. (오늘은 일하다 말고 몰래 딴짓 중입니다 ㅎㅎ) 이번 포스팅에서는 머리도 정리할 겸 어떻게 하면 시뮬레이션으로 정말 실물과 같은 물 시뮬레이션을 구현할 수 있는지 알아보려고 하는데요, 그러면 먼저 물 시뮬레이션에 대해서 알아야겠죠?

쉽게 말해 요런게 물 시뮬레이션이랍니다 :)

 보통 물 시뮬레이션이라고 하면 유체 움직임을 지배하는 방정식인 나비에-스톡스(Navier-Stokes)라고 하는 방정식의 해를 구하는 방식으로 진행이 되게 됩니다. 나비에-스톡스 방정식은 대표적인 비선형 방정식 중 하나로 비선형 항과 선형항이 결합되어 있어 방정식의 해를 바로 구하는 게 불가능합니다.(이 문제를 푸는 사람에게는 엄청난 상금이 주어진다고 하네요. 이 방정식과 유사한 물리현상 방정식 중에는 핵융합에 쓰이는 플라즈마의 거동을 표현하는 방정식도 있기 때문에 만약 이 방정식의 엄밀해를 구할 수 있다면 정말 세계적인 발견이 될 거예요.)

 그럼 어려운 말은 여기서 그만하고 컴퓨터 그래픽스(CG)에서는 어떤 식으로 진행되는지 한번 알아볼까요? 보통 CG에서는 물을 표현하기 위해 입자들을 활용하여 문제를 풀게 됩니다. 나비에-스톡스 방정식에서 말하는 물리현상에 맞춰 입자를 움직여주는 건데요, 과거에는 이런 방식의 정확도가 높지 않았기 때문에 사실 CG 쪽 유체 시뮬레이션은 엔지니어들에게 많은 멸시를 당한 역사가 있습니다 ㅎㅎ. (유한체적법이라고 하는 수학적으로 완전한 방법이 있고 실제 물리현상을 정확하게 구현해 내니 엔지니어들의 생각도 이해는 한답니다 ㅎㅎ) 

 아무래도 정확도가 높지 않다 보니 당연히 과거 CG를 통한 물 시뮬레이션은 딱 봐도 그래픽이라는 게 눈에 보일 정도였어요. 제가 정말 좋아하는 영화 중 미이라라고 하는 영화가 있는데요, 한번 영상을 보시죠 ㅎㅎ

정말 유명한 영화 미이라에서의 물 시뮬레이션을 한번 보시죠 ㅎㅎ 지금은 눈이 너무 높아져서 부자연스러운게 다 보인답니다.

 어떤가요? 아마 눈 좀 높으신 분이라면 바로 어색한 부분들이 눈에 보일 거랍니다 ㅎㅎ 

 예전에는 기술의 한계와 컴퓨터 용량의 한계 때문에 시뮬레이션을 정교하게 하기가 어려웠습니다. (또 특수효과에 엄청난 돈을 쏟아붓는 분위기도 아니었구요.) 하지만 최근 기술의 발전과 영화 산업의 확장으로 더더욱 정교한 기술이 요구되기 시작하면서 많은 기술 개발이 이루어졌습니다. 먼저 입자를 이용한 시뮬레이션 기술이 매우 발전해서 지금은 최대한 물리적으로 타당한 결과를 얻어내고 있습니다. 당연히 물리적으로 타당한 결과를 내놓으니 훨씬 실사에 가까운 영상을 얻을 수 있게 됐구요. 

 하지만 이게 끝이 아닙니다. 물 시뮬레이션이 아무리 정교해도 사실 뭔가가 부족했어요. 한번 그 2% 부족한 물 시뮬레이션을 볼까요?

정말 물 같죠?

 사실 이 영상에서 나온 시뮬레이션 기술이 부족한 건 절대 아닙니다. 오히려 매우 정교하고 잘 만든 시뮬레이션이랍니다. 하지만 영화제작자들은 이렇게 잘 만든 시뮬레이션만으로는 뭔가 부족함을 느꼈습니다. 그럼 한 번 우리 주변의 실제 물은 어떤지 볼까요?

정말 아름다운 해변입니다 ㅎㅎ

 그럼 다른 시뮬레이션 영상을 하나 볼까요? 이 영상을 보시면 뭔가 감이 오실 거라고 생각합니다 ㅎㅎ 

 

 영상을 보시면 알겠지만 사실 우리가 실생활에서 보는 물에는 하얀 거품이 끼어 있습니다. 이러한 거품을 얼마나 잘 사용하냐에 따라 정말 그럴싸한 CG가 완성이 되기도 하고 딱 봐도 그래픽 같은 영상이 완성되기도 한답니다. 한번 여러 영상들을 볼까요?

잘 만든 예입니다 :)

 위 영상은 CG 연구실에서 연구 성과를 발표하면서 내놓은 영상인 것 같아요. 전 세계에 이러한 연구실들이 많이 있답니다 ㅎㅎ 

 다음은 우리가 너무도 잘 알고 있는 영화 X-men에서 나온 매그니토의 잠수함 들어 올리는 씬입니다. 저는 정말 재미있게 봤는데 아쉽게도 저 잠수함 씬은 쫌 별로였어요 ㅎㅎㅎ 너무 과도하게 거품을 집어넣어버렸네요.

거품이 너무 많아요 ㅎㅎ

 어떤가요? 정말 CG의 세계는 재미있는 것 같습니다. 최근에는 이렇게 시뮬레이션에 후처리로 foam을 집어넣어 훨씬 실사 같은 영상을 만들어낸답니다. 정말 신기하지 않나요? ㅎㅎ 그럼 마지막으로 아티스트들이 어떤 방식으로 영상을 만드는지 한번 보고 가세요~ 

이 영상은 어떻게 아티스트가 실제와 같은 영상을 만들어 내는지 보여주는 영상이랍니다 :)