본문 바로가기

Numerical Analysis/회사 이야기

아바타2 - 물의 길 후기

드디어 아바타2 물의 길이 개봉하였습니다. 사실 개봉은 저번달에 했지만 ㅎㅎ 연말이라 정신이 없었습니다.
다행히도(?) 제 이름 역시 영화에 들어갔네요. 궁금하신분들은 영화가 끝난 뒤 웨타디지털 시뮬레이션팀이 나올때 유심히 보시면 한국인 이름을 찾으실 수 있을거에요 :)

아바타2 제작 당시 워낙 서포트 작업만 하다보니 사실 정신이 없기도 했고 블로그를 방치 했었는데 이제 간간히 글을 써보려고 합니다.

이 장면은 아직도 얘기가 많더라구요 full cg냐 CGI냐로

 

아바타2에서 위의 사진에서 보이는 장면은 아티스트들에게는 정말 논란인가봐요. 결론만 말씀드리면 손이랑 가죽은 실제 사람 손이랑 가죽이고 나머지 부분은 모두 CG입니다. 저 아무것도 아닌것처럼 보이는 (진짜처럼 보이는) 물이 CG랍니다 ㅎㅎ 

아바타2를 보시면 정말 많은 물 CG가 들어간 걸 보실 수 있는데요 99% 저희 팀에서 개발한 Loki라는 소프트웨어를 활용한 결과물입니다. 아바타2의 풀과 나무들도 대부분 Loki를 활용한 결과인데 아바타 1편과 비교하면 확실히 많은 기술의 발전이 있었습니다. 특히 plant character interaction에 대해서는 정말 큰 진보가 있었습니다. 1편에서는 interaction이 나오는 부분은 대부분 가려버렸거든요. 2편에서는 우리 이만큼이나 했어! 하고 일부러 더 보여주는 느낌도 들더라구요

그리고 water interaction과 관련해서도 많은 발전이 있었습니다. 특히 캐릭터 피부를 타고 흐르는 thin film이나 젖은 머리카락 구현 해초들의 움직임 등 사실 당연해 보이는 장면이 실제로는 새로운 기술들로 구현된 기존에는 제대로 할 수 없었던 장면들입니다. 아마 아쿠아맨을 보신분들은 기억하실거에요. 물에 들어간 머리카락이 사실적이지 않게 움직이는 장면을. 아바타2에서는 머리카락의 움직임을 최대한 사실적으로 구현하고 싶어했고 그걸 Loki가 가능하게 만들었습니다. 

특히 머리카락 시뮬레이션은 기존 솔버들은 physically correct하지 않게 푸는 경우가 많았는데 loki는 제대로 풀어야 하는 난제가 있었습니다. 그러다보니 연산시간이 매우 많이 필요한 문제가 있었는데요, 이걸 해결하기 위한 custom linear equation solver 역시 개발이 되었습니다. 또한 물 시뮬레이션을 풀 경우에는 slip boundary condition을 구현하기 위해 LCP 조건을 적용하여 시뮬레이션을 구현하였는데 이 부분에 대해서도 연산시간이 많이 걸리는 문제가 있었고 이 부분 역시 많은 발전이 이루어졌습니다. 이러한 내용들은 팀에서 쓴 논문에 많은 내용이 포함되어 있답니다 :)

 

Loki: a unified multiphysics simulation framework for production: ACM Transactions on Graphics: Vol 41, No 4

We introduce Loki, a new framework for robust simulation of fluid, rigid, and deformable objects with non-compromising fidelity on any single element, and capabilities for coupling and representation transitions across multiple elements. Loki adapts ...

dl.acm.org

 

긴 크리스마스 휴가가 지나고 이제 다시 다음주부터는 업무에 복귀하게 되는데요, 종종 찾아뵙도록 하겠습니다.