2012年3月5日月曜日

MikuMikuDanceモデル・モーションの投稿サイトの実現性を考える

MikuMikuDanceのモデル・モーションをブラウザで閲覧・共有するWebサイトは、
技術的には作れると思います。
ただし、クライアント側の実装は、
「Google Native Client(※1)」+「Qt(※2)」が現実的ではないかと思います。

※1 Google Native Client
C/C++をブラウザ上で使えるようにする技術です。
ActiveXとは、C/C++がサンドボックス内で動作する点で異なります。
現在は、Chrome Web Storeに登録したアプリのみが、標準で利用できます。
[参考]
Native Client - Google Developers
<https://developers.google.com/native-client/pepper16/>

※2 Qt
C/C++のアプリケーション・UIフレームワークです。
商用版とオープンソース版があり、
オープンソース版のライセンスはLGPL/GPLです。
Qtで記述されたソースは、Windows・Mac・Linux等の様々な環境で利用できます。
[参考]
Qt – クロスプラットフォームのアプリケーション開発フレームワーク
<http://qt.nokia.com/title-jp/>
Qt for Google Native Client
<http://qt-project.org/wiki/Qt_for_Google_Native_Client>


なぜ、Javascriptではなく「Google Native Client」+「Qt」かと言うと、
下記の3つの理由があるからです。
1.C/C++は描写速度が早い。
2.C/C++のソースは、モーションキャプチャ利用のアプリに転用できる。
3.既存のソースを参考にできる。

1.C/C++は描写速度が早い。
コンパイル方式のC/C++は、インタプリタ方式のJavascriptより高速です。
実際に、下記の「Google Native Client」アプリを試してみて下さい。
そのレスポンス性の高さに驚かされるはずです。
[参考]
Bullet Physics NaCl Test
<https://chrome.google.com/webstore/detail/pgehkhceingafmkkmbeoempaablkkeal>
※「Google Native Client」上でBullet Physics(物理演算用ライブラリ)を使ったサンプルアプリです。

2.C/C++のソースは、モーションキャプチャ利用のアプリに転用できる。
MikuMikuDanceは、モーションキャプチャと強い関連性を持っています。
今後、モーションキャプチャを使った機能
(例えば、ユーザの動きを感知して、それに類似するモーションデータを検索する機能)
が求められた場合、
C/C++であれば、そのソースを再利用してネイティブアプリを作ることで対応できます。

3.既存のソースを参考にできる。
MikuMikuDanceのクローンアプリ「MMDAI2」が、「Qt」で実装されています。
また、そのソースが公開されており、個人の開発者でも使わせてもらえます。
[参考]
hkrn/MMDAI · GitHub
<https://github.com/hkrn/MMDAI>
MMDAI Project Portal
<https://sites.google.com/site/mmdaiproject/>


もちろん、「Google Native Client」にも欠点があります。
その中で最も大きなものは、InternetExplorerに対応していない点です。
現在、事実上、「Google Native Client」はGoogle Chromeの独自機能です。
ブラウザ全体の約5割のシェアを持つInternetExplorerでは、標準的には使えません。
これは商業アプリでは致命的なように思えますが、
実はJavascriptで実装しても同じ結果になります。
なぜかと言うと、InternetExplorerはWebGLへの対応を拒否しているからです。
そのため、InternetExplorerに対応していない事は「Google Native Client」の欠点ですが、
同時にJavascriptの欠点でもあります。


Chrome OSのノートブックPCが流通し始めた時には、
「Google Native Client」アプリを作る人が格段に増えていくことと思います。
その時に、
プラットフォームビジネスの新たな覇者・3Dアニメーションの文化を発展させる英雄が
誰になるのか、強く興味が持たれます。
個人的には、株式会社ドワンゴが最有力だと思いますが、
草の根運動で伸びてきたMMD文化は、個人や非商業者が伸ばしていくのが理想的だと思います。
MMD文化の更なる発展と成長をお祈りしております。


追伸

と、書きましたが、
実はJavascriptでもここまでの実装ができるそうです。
<http://edv.sakura.ne.jp/mmd/>
<http://edv.sakura.ne.jp/mmd/20111107/>
※このページは、OS・ブラウザによっては機能しません。

ソースはこちらになります。
<https://github.com/edvakf/MMD.js>


このような長い文章をお読み頂き、ありがとうございました。