본문으로 건너뛰기

MMD 로더를 만든 이유

· 약 2분
noname0310
babylon-mmd 메인테이너

안녕하세요, 문서 작성을 시작한 이후 처음 작성하는 글입니다.

MMD란 무엇인가?​

MikuMikuDance(MMD)는 일본 프로그래머 유 히구치가 개발한 무료 3D 애니메이션 소프트웨어입니다. 2007년에 처음 출시되었으며 애니메이션과 가상 아이돌 커뮤니티 내에서 빠르게 인기를 얻었습니다. MMD는 사용자가 간단하고 직관적인 인터페이스를 통해 주로 인간형 캐릭터에 중점을 둔 3D 모델을 만들고 애니메이션화할 수 있게 해줍니다.

MMD는 여전히 큰 커뮤니티를 보유하고 있으며, 이로부터 만들어진 모든 고품질 3D 모델 및 모션 자산은 MMD의 사용자 정의 형식인 PMX(Polygon Model eXtended)와 VMD(Vocaloid Motion Data)에 저장됩니다. 이러한 자산들은 인터넷에서 자주 공유되며, 많은 사람들이 이를 사용하여 비디오와 이미지를 제작합니다.

브라우저 기반 MMD의 장점​

일반적으로, 이러한 자산들은 특정 노래에 맞춰 춤을 추는 3D 모델로 구성됩니다. 본질적으로, 이는 소비 가능한 콘텐츠입니다. 사람들은 보통 단 한 번 보고 넘어가는 약 3분 정도의 짧은 콘텐츠를 보기 위해 3D 애플리케이션을 다운로드하고 싶어하지 않습니다.

따라서, 장점은 MMD를 브라우저에서 직접 재생할 수 있다는 것입니다. 추가 소프트웨어 설치가 필요하지 않으며, Babylon.js를 사용하면 뛰어난 시각적 효과를 얻을 수 있습니다.

브라우저에서 MMD를 재생하면 사용자는 원활하고 깔끔한 창작물을 경험할 수 있습니다. 실시간 렌더링이 품질 손실 없이 브라우저에서 직접 이루어져 사용자에게 몰입감 있고 매력적인 경험을 제공합니다.

왜 Babylon.js인가?​

저는 꽤 오랫동안 Three.js의 MMDLoader를 사용해 왔으며, 그 안에서 몇 가지 결함과 누락된 기능들을 발견했습니다. 처음에는 몇 가지 함수를 재정의하는 것만으로 이러한 문제를 해결할 수 있다고 생각했지만, 수정을 시도하면서 그것이 실현 가능하지 않다는 것을 깨달았습니다.

그 결과, 2023년 초에 저는 제 자신의 MMD 로더를 만들기로 결정했고, 제 선택은 Babylon.js였습니다. Babylon.js는 뛰어난 코드 품질을 자랑하며, 버전 6.0부터는 Havok Physics를 지원합니다. 또한, 텍스처를 사용한 GPU 스키닝, 최적화된 모프 타겟, 머티리얼 플러그인과 같이 웹에서 MMD를 구현하는 데 필요한 필수 요소를 제공합니다. 이러한 기능들의 완성도는 놀라울 정도로 높았습니다.

결론​

여기까지 읽으셨다면, 제가 이 특정 주제에 대해 진정으로 열정적이라는 것을 느끼셨을 것입니다. 그 결과, babylon-mmd는 제가 할 수 있는 최고의 코드 품질을 가지고 있으며, 일부 최적화를 제공하기 위해 과도하게 설계되었습니다.

이 모든 것은 웹 브라우저에서의 MMD를 위한 것입니다. 독자 여러분도 babylon-mmd를 사용하여 창작물을 만들고 공유한다면 정말 멋질 것입니다.

이제 이 글을 마무리하겠습니다. 감사합니다.