본문 바로가기

잡담

인간은 어리석고 같은 삽질을 반복한다

3D 그래픽에서 자연스러운 영상을 원하다 보면 필연적으로 모션블러를 찾게됩니다.

모션블러 없는 60프레임보다 모션블러가 잘 먹힌 24프레임 영상이 더 좋아보이기도 하거든요.



예~ 전에 비슷한 고민을 하다 AviSynth를 이용한 모션블러 적용 이런 게시물을 끄적이기도 했고요.


지금은 제대로 속도 맵을 지원하는 MME용 모션블러 효과가 나와 있기도 하지만,

그래도 왠지 좀더 좋은 영상을 뽑을 수 없을까~ 하다가, 전에 한번 봐둔게 생각났어요.





모션블러를 지원하지 않는 게임 영상을, AviSynth 스크립트를 이용해 후처리로 모션블러 효과를 넣어준 영상입니다.


원리는 영상을 초당 180프레임으로 레코딩하고, 이걸 블럭 매칭 모션 추측 으로 모션블러를 넣은 다음

다시 프레임 보간을 더해 30프레임으로 줄여 인코딩하는 방법을 사용하고 있습니다.



MMD 초기에 영상 편집툴로 AviSynth를 배우고 있었는데, 기능상으로는 어떨지 몰라도

생산성 면에서는 문제가 좀 많은 터라.. 결국 포기하고 어도비 프리미어 로 넘어갔더랬지요.



그런데 영상을 프리미어에서 모션블러랑 프레임 보간을 걸어보려고 했더니 방법이 없어요.

어도비 이펙트로 우회하는 방법도 있긴 한데 이러면 더 귀찮고



결국 다시 AviSynth로 돌아와서 64비트 버전을 새로 깔고

수년전에 몽땅 까먹은 스크립트 문법이며 플러그인 사용법을 다시 복습하고


MMD를 초당 120프레임으로 뽑아서 24프레임으로 스크립트를 돌려봤더니...


(아시는 분도 있겠지만 MMD에서는 최대 초당 120프레임까지 녹화가 가능합니다. 내장된 뷸렛 피직스 엔진이 60프레임까지만 지원하는 터라 문제가 되긴 하지만.)



쪼금 좋아지더군요.



예상했던 것 만큼 부드럽게 모션블러가 붙기는 하는데 여전히 mvtools 특유의 현상이 보이더라구요.

하긴 이건 ReelSmart 모션블러 같은 상업용 플러그인에서도 보이곤 합니다만

객체의 경계선이 무너진다고 해야하나.. 아무튼 영상을 후처리 하는 방식으로는 완벽하게 피하기가 어려운 모양입니다.


왜 AviSynth + mvtools로 모션블러 거는 방식을 그만두게 되었는지 새삼 다시 알게 되었다는 얘기지요.



결론


1) 영상 후처리 방식의 모션 블러


- MMD에서 레코딩 할때 오래걸린다 (120프레임으로 뽑아야 하니 4배 더 시간이 걸림)

- 등속도 화면에서는 품질이 좋다

- 카메라가 급격히 변하는 부분이 있을 경우 특유의 일그러짐이 생긴다

- 영상 인코딩하는 시간이 겁나게 느리다


2) MME를 이용한 모션 블러


- MMD에서 레코딩 할때 시퓨 및 그래픽카드에 부하가 크다 (MME중에서 가장 무거운 편에 속함)

- 속도 변화가 심한 장면의 경우 별도로 조절이 필요하다

- 원하는 구간에 모션블러가 안 들어가거나, 반대로 원치않는 구간에 고도한 모션블러가 들어가기도 한다.





덧) 프레임을 줄이면서 모션블러를 거는 스크립트입니다. 혹시나 궁금한 분은 참고를.











'잡담' 카테고리의 다른 글

가슴본에 대한 고찰  (0) 2016.05.07
PMXE용 플러그인 만들기  (0) 2016.05.03
빠른 삽질  (3) 2016.05.01
웨이트 관련 삽질중  (1) 2016.04.14
우짜쓸까나  (3) 2016.03.25
즐거운 연휴 되시길 바랍니다.  (2) 2015.12.27
조금만 더  (0) 2015.11.26
모델 카탈로그에 대해서  (0) 2015.11.26
잠시 블로그를 쉽니다.  (3) 2015.11.12
이어지는 삽질  (0) 2015.10.04