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를 사용하여 창작물을 만들고 공유한다면 정말 멋질 것입니다.
이제 이 글을 마무리하겠습니다. 감사합니다.