안녕하세요. 이노도리입니다. (오늘은 일하다 말고 몰래 딴짓 중입니다 ㅎㅎ) 이번 포스팅에서는 머리도 정리할 겸 어떻게 하면 시뮬레이션으로 정말 실물과 같은 물 시뮬레이션을 구현할 수 있는지 알아보려고 하는데요, 그러면 먼저 물 시뮬레이션에 대해서 알아야겠죠?
보통 물 시뮬레이션이라고 하면 유체 움직임을 지배하는 방정식인 나비에-스톡스(Navier-Stokes)라고 하는 방정식의 해를 구하는 방식으로 진행이 되게 됩니다. 나비에-스톡스 방정식은 대표적인 비선형 방정식 중 하나로 비선형 항과 선형항이 결합되어 있어 방정식의 해를 바로 구하는 게 불가능합니다.(이 문제를 푸는 사람에게는 엄청난 상금이 주어진다고 하네요. 이 방정식과 유사한 물리현상 방정식 중에는 핵융합에 쓰이는 플라즈마의 거동을 표현하는 방정식도 있기 때문에 만약 이 방정식의 엄밀해를 구할 수 있다면 정말 세계적인 발견이 될 거예요.)
그럼 어려운 말은 여기서 그만하고 컴퓨터 그래픽스(CG)에서는 어떤 식으로 진행되는지 한번 알아볼까요? 보통 CG에서는 물을 표현하기 위해 입자들을 활용하여 문제를 풀게 됩니다. 나비에-스톡스 방정식에서 말하는 물리현상에 맞춰 입자를 움직여주는 건데요, 과거에는 이런 방식의 정확도가 높지 않았기 때문에 사실 CG 쪽 유체 시뮬레이션은 엔지니어들에게 많은 멸시를 당한 역사가 있습니다 ㅎㅎ. (유한체적법이라고 하는 수학적으로 완전한 방법이 있고 실제 물리현상을 정확하게 구현해 내니 엔지니어들의 생각도 이해는 한답니다 ㅎㅎ)
아무래도 정확도가 높지 않다 보니 당연히 과거 CG를 통한 물 시뮬레이션은 딱 봐도 그래픽이라는 게 눈에 보일 정도였어요. 제가 정말 좋아하는 영화 중 미이라라고 하는 영화가 있는데요, 한번 영상을 보시죠 ㅎㅎ
어떤가요? 아마 눈 좀 높으신 분이라면 바로 어색한 부분들이 눈에 보일 거랍니다 ㅎㅎ
예전에는 기술의 한계와 컴퓨터 용량의 한계 때문에 시뮬레이션을 정교하게 하기가 어려웠습니다. (또 특수효과에 엄청난 돈을 쏟아붓는 분위기도 아니었구요.) 하지만 최근 기술의 발전과 영화 산업의 확장으로 더더욱 정교한 기술이 요구되기 시작하면서 많은 기술 개발이 이루어졌습니다. 먼저 입자를 이용한 시뮬레이션 기술이 매우 발전해서 지금은 최대한 물리적으로 타당한 결과를 얻어내고 있습니다. 당연히 물리적으로 타당한 결과를 내놓으니 훨씬 실사에 가까운 영상을 얻을 수 있게 됐구요.
하지만 이게 끝이 아닙니다. 물 시뮬레이션이 아무리 정교해도 사실 뭔가가 부족했어요. 한번 그 2% 부족한 물 시뮬레이션을 볼까요?
사실 이 영상에서 나온 시뮬레이션 기술이 부족한 건 절대 아닙니다. 오히려 매우 정교하고 잘 만든 시뮬레이션이랍니다. 하지만 영화제작자들은 이렇게 잘 만든 시뮬레이션만으로는 뭔가 부족함을 느꼈습니다. 그럼 한 번 우리 주변의 실제 물은 어떤지 볼까요?
그럼 다른 시뮬레이션 영상을 하나 볼까요? 이 영상을 보시면 뭔가 감이 오실 거라고 생각합니다 ㅎㅎ
영상을 보시면 알겠지만 사실 우리가 실생활에서 보는 물에는 하얀 거품이 끼어 있습니다. 이러한 거품을 얼마나 잘 사용하냐에 따라 정말 그럴싸한 CG가 완성이 되기도 하고 딱 봐도 그래픽 같은 영상이 완성되기도 한답니다. 한번 여러 영상들을 볼까요?
위 영상은 CG 연구실에서 연구 성과를 발표하면서 내놓은 영상인 것 같아요. 전 세계에 이러한 연구실들이 많이 있답니다 ㅎㅎ
다음은 우리가 너무도 잘 알고 있는 영화 X-men에서 나온 매그니토의 잠수함 들어 올리는 씬입니다. 저는 정말 재미있게 봤는데 아쉽게도 저 잠수함 씬은 쫌 별로였어요 ㅎㅎㅎ 너무 과도하게 거품을 집어넣어버렸네요.
어떤가요? 정말 CG의 세계는 재미있는 것 같습니다. 최근에는 이렇게 시뮬레이션에 후처리로 foam을 집어넣어 훨씬 실사 같은 영상을 만들어낸답니다. 정말 신기하지 않나요? ㅎㅎ 그럼 마지막으로 아티스트들이 어떤 방식으로 영상을 만드는지 한번 보고 가세요~
'Numerical Analysis > 회사 이야기' 카테고리의 다른 글
[컴퓨터그래픽] 디즈니 겨울왕국에 쓰인 시뮬레이션 기술 (5) | 2021.01.08 |
---|---|
[컴퓨터그래픽] 영화 속 멋진 CG 장면들 - 모션캡쳐로 만들어낸 캐릭터들 (8) | 2021.01.07 |
[컴퓨터그래픽] 정말 실사같은 영화 속 장면들 - 혹성탈출 종의 전쟁 (8) | 2021.01.06 |
[컴퓨터그래픽] 실사같은 머리카락 시뮬레이션 이야기 - 디즈니, 배틀엔젤 알리타, 워크래프트 (4) | 2021.01.06 |
컴퓨터 시뮬레이션 이야기 (0) | 2020.12.17 |
기계공학부 대학원생이 개발자가 된 과정 - 커리어패스 공유 (14) | 2020.12.14 |
삽질이 꼭 나쁜것일까?? (저는 사서 고생하는 개발자입니다.) (12) | 2020.12.09 |
회사에서 연말 감사편지가 왔습니다. (2) | 2020.12.08 |