メインコンテンツまでスキップ

MMDローダーを作った理由

· 約4分
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を使用して作品を作成し共有していただけると素晴らしいです。

それでは、この投稿を終わります。ありがとうございました。