【本サイトのご利用指針】
当サイトはSPAM対策等のためJavaScriptを使っています。
JavaScriptの実行を可能な状態にしてご利用下さい。
Please enable the execution of JavaScript!




Vocaloid初音ミクMikuMikuDanceという驚愕のソフトウェア

  【リンクフリー】 私設研究所ネオテックラボ Neo-Tech-Lab.co.uk
【記載者】 上田智章 ☆Tomoaki Ueda☆ NTLMMD

 
ここにチェックボックス型外部コンテンツ・メニューが入ります。




【ブラウザはGoogle Chrome】

●最新版ダウンロードはこちら

【お知らせ】

現在、特にお知らせする事項はありません。

【過去メモ・メニュー】
 ■2008/03/11 驚愕のソフトウェアMMD
 ■2008/03/13 英語版登場!!
 ■2008/06/27 プロ級の作品が登場
 ■2008/12/31 マルチモデルバージョンの普及
 ■2009/01/01 咲音メイコのスカート / GaoMachine氏のSkyLineスクリプト
 ■2009/01/24 物理干渉に挑戦する人達
 ■2009/04/24 ちびミク登場
 ■2009/06 物理エンジンBulletが搭載された(Version5.xx登場!)
  ●ついに物理エンジンBulletを搭載したMikuMikuDance5βの配布が開始
  ●MikuMikuDance5β 重力設定で『風』が表現可能に!!
  ●オリジナルモデルに物理エンジンを搭載できるエディタが標準装備
  ●ちびミクちゃんに物理エンジンを実装してみる
  ●ちびハクちゃんにも物理エンジンを実装してみる
  ●きれいなアホ毛の定義方法
 ■2009/08 ブラウザでリアルタイム3Dグラフィックスの時代到来!
 ■2009/09 進化を続けるMikuMikuDance!Sphere Mapping機能追加!
 ■2009/09 Excel VBAでMikuMikuDanceのモデルを表示するぞ!
 ■2009/10/15 誰でも簡単に曲を作れるミュージック・シェーク(MusicShake)
 ■2009/10/17 テクスチャーにjpegファイルが使える / bone制御について
 ■2009/10/25 ソフトウェア業界のMikuMikuDanceへの期待??
 ■2009/11/01 Panoramio用ツールにもMikuMikuDance動画を表示したよ
 ■2009/11/10 うーん、なかなかExcel VBAでの作業を再開できない(泣
 ■2009/11/13 あれ?YouTubeの仕様が変わりましたね?(困
 ■最近のメモ(メイン・ページ)

■記載日2009年7月19日■
【引越ししました。】
私設研究所Neo-Tech-Lab.comのドメインのままでは、いろいろなところから余計な詮索が入って面白くないので本ページを切り離しました。無料・ダイナミックDNS(DDNS)サービスの家サーバープロジェクトさんのお世話になり、http://mikumikudance.jpn.phに変更しました。
【追記】その後、Google検索エンジンの問題から、現在のサブフォルダ位置に再度引っ越しをしました。
管理人(☆Tomoaki Ueda☆)は今のCG技術はあまり詳しくないので勉強してわかったことなどをここに書いていく予定です。

■記載日2009年7月5日■
MikuMikuDance5 きれいなアホ毛の定義方法】
昨日、風が吹いても崩れにくいアホ毛の定義方法がわかったのでちょっとメモ。
アホ毛の先端の剛体は物理演算対象だが、風や重力の影響で崩れやすい。下図のように常に頭部に触れるように設定しておくと崩れにくい。案外ノウハウの塊だな。


(at the zoo in Singapore)
おっ!お嬢様っぽいけど、結構かっこいいぞ!
(in London)
■記載日2009年7月4日■
MikuMikuDance5 ちびハクちゃんにも物理エンジンを実装してみた。】
樋口優さんがMikuMikuDance Version 5.00を正式にリリースされたので早速ダウンロードしてみた。
ところでセンターにオフセットかけるのってどうやるんだったっけ?なんか効かなくなったような?
子供の乗馬教室動画でも作ってみようかなと思って『ちびハク(半ズボン版)』にも物理エンジンを移植してみた。(こう書くと突っ込みがありそうなので一応書いておくと、勿論、正確にはモデルに物理演算を適用するための剛体近似を行うとか、そういう表現が正しいのだが、モデルに物理エンジンを実装するとか移植するの方がかっこいいだろ?)ネクタイやスカートがないので移植は簡単だった。3時間半くらいか。どこかにBoneの入った馬モデルないかな?探してなければいよいよオリジナル・モデル製作に手を染めなきゃ。
といっても馬だけど。鞍とかゼッケンとか腹帯とか頭らくとか大変かも?
思えば、高校時代は軽音でドラムだったし、フィギュアスケート、ウィンドサーフィン/ディンギー、乗馬とスポーツもマイナーばかりやってきた。アニメ『けいおん!』のお陰で演奏動画は多いし、前にフィギュアスケート動画はどこかで見たことがあるので、もう夏だからマリンスポーツをと思ったが、波のシミュレーションをしたのはいいが、よくよく考えてみると160万ポリゴンもある3次元的な海上にミクを表示するのって難しいかも?
(でもアクセサリのFORMATはDirect Xだし、ポリゴンを削るとかPMDを理解すればなんとかなる?
...この際、勉強するかなぁ。PMDでダイナミッククロスやパーティクルも使えるようだ。)
で、...残りは乗馬しかなさそう。
     『ちびハク改』モデル(暫定版)
ところでkiyo PさんちにはVer1.4があった。orz あちゃぁー。折角だからVer.1.4にも移植しなきゃ。

物理演算用のエディタを使っている際の注意条項として、物理演算する剛体は必ず他の剛体にジョイントを用いて結合していなければならないが、これが守られていないと、物理演算を実行したとたんにモデル・ばらばら事件が発生するので注意が必要だ。クリックミスでBoneに依存する剛体をうっかり物理演算にしてしまったとき事件は起きた。

このページにこられる方の直前検索キーワードを見て気がついたのですが、PMDファイル書式に関する記述は当サイトにはありませんので、一応存在します。PMDファイルの構造のうち、ヘッダー部、頂点データリスト、面頂点データ(インデックスポインタ)リスト、材質定義リスト部分についてExcel VBAで読みだす方法について記述しています。こちらを参考にしてください。なお、これらの情報については『通りすがりの記憶』のページを参考にさせていただきました。『通りすがりの記憶』を是非ご参照されてはどうでしょうか?


物理エンジンを実装した『ちびミクちゃん』
よくペッタンコと言われるが、剛体近似をしてみるとそんなことはないとわかる。ネクタイの厚みを増やすなど工夫が必要。
スカート剛体間のジョイントも付けた。

(at the zoo in Singapore)
■記載日2009年7月2日■
MikuMikuDance5β ちびミクちゃんに物理エンジンを実装してみる。[続き]】
昨日に引き続き、kiyo Pさんちから遊びに来ているちびミクちゃんver.1.3に物理演算のための剛体とジョイントを実装してみた。ばねの数値などは樋口優さんのモデルデータを参考にした。髪の毛は素晴らしい!静止画で見ても勢いがある。ネクタイの下部の厚みを増やしてお腹にネクタイがめり込む現象を回避した。また、スカートの剛体に関しては互いにジョイントを追加したり、剛体をさらに追加する必要があるようだ。
     MikuMikuDance5βテスト 『ちびミクVer1.3改』による物理エンジン実装テスト動画へ
     『ちびミクVer1.3改』モデル(暫定版)
MikuMikuDanceの完成度が高いため、私のようなMMD初心者でも比較的簡単にモデルの適合が行えた。動作を確認したら、なんというかプラモデルを組み立てたときのような感動(?)、いや違うな。急にいきいきと動きだすちびミクちゃんに感動したんだろうなぁ。これは結構面白いかも。


 


モデル物理演算化用エディタが標準装備


物理エンジン実装途中の『ちびミクちゃん』
■記載日2009年7月1日■
MikuMikuDance5β オリジナルモデルを物理演算可能にするエディタが標準装備されている。】
『オリジナルモデルをどうやって物理演算に適用させるのか?』興味があったので、少し調べてみた。
オリジナルモデルに対して物理演算を適用させるために、Boneに対応させて剛体で近似する必要がある。MikuMikuDance5βにはそのためのエディタが標準装備されている。「ヘルプ」→「モデル拡張」→「物理演算」でそのエディタが起動する。
作業は2段階に分かれる。まず、一つのBoneを1つまたは複数の剛体で近似する。小まめに近似すればよい演算結果が得られるが、動作速度が遅くなる恐れがある。剛体には『Boneに追従させる剛体』と『物理演算して衝突を回避させる剛体』の2種類が存在する。通常、頭や上半身、下半身や、腕・肘・手・もも・両足・足首はBoneに追従する剛体として定義する。これに対して、髪の毛、アホ毛、ネクタイ、スカート、(胸)は物理演算する剛体とする必要がある。エディタでは剛体を球、箱、あるいはカプセルで近似する。大きさ、位置などが変更できるようになっている。使い方は樋口優さんのreadme.txtに記述されている。
第二段階で、物理演算の結果、物理演算する剛体はばらばらにならないように『ジョイント』でBoneに追従する剛体に直接的にあるいは間接的にぶら下がる必要がある。間接的にとは、例えばBoneに追従する剛体に結合された物理演算する剛体等に結合するという意味だ。
弱音ハクの場合は以下のような感じだった。指など細かいBoneはまとめてドラえもんの手のように球で近似されている。また、上半身については左右半身が2個のカプセルで、前胸部が箱と合計3個の剛体で近似されていた。この辺がモデルごとに工夫するところだろう。
各剛体には質量(密度ではない?)、移動減衰、回転減衰、反発力、摩擦力の他、Groupを与えることができる。例えば髪の毛どうしは衝突判定しなくても映像上問題ないのでそう言った無駄な演算を省略できる設定も可能だ。一番困難なのはジョイントに関する設定かもしれない。移動や角度に対する自由度の制約やばねの移動や回転を設定できるようだが、これは難しそうだ。何かモデルに物理演算を移植する練習をしたほうがよさそうだ。
それじゃあ...ということで、kiyo Pさんちからうちに遊びに来ているちびミクちゃんver.1.3に物理エンジンを実装してみることにした。取りあえず、Bone追従型剛体だけ定義してモーションに追従することを確認。明日は物理演算対象剛体を定義しようと思う。

      


重力設定で実現された『風』表現
■記載日2009年6月30日■
MikuMikuDance5β 重力設定で『風』が表現可能に!!】
物理エンジンは静止状態でも「常に演算」状態にさせることができる。このときゆらゆらと揺れた状態が続くのでもしかして「摩擦のほとんど無い世界」なのかもしれない。そこで重力ベクトルの方向を変えて上下を逆にしてみたがIKボーンのお陰でミクは落下せず、床に張り付いている。髪の毛やネクタイが宙に浮かんだように見える。面白い。
物理演算の重力設定にノイズ付加というのがある。これは一体何に使うのだろうと思ったら、わかった!なんと重力の方向で 『風の向き』を指定して、ノイズで『風の揺らぎ』を表現できるのでは?と思ってやってみたら凄い! いやぁ、風だ。風だ。
考えもつかなかった方法だ。そうかそれで摩擦を考えなくてもよかったのか....
樋口優さん、頭いい....
それで実は気がついてしまったので書くんですけど、弱音ハクさんの胸がこの重力の『風』のせいで妙に揺れるんです。 これは当然ですね。(ノイズを付加にチェックを入れて、数値100、x=1.0, y=-1.0, z=0.0くらいで試してみました。)何しろ重力変動ですから。面白い。
それにしても10分くらいでちょこっと動画が作れるなんてもの凄いことですね。
以前のバージョンだったらこれだけで5時間くらいかかったんじゃあないでしょうか。

■記載日2009年6月29日■
新しい機能にスクリーン・ショット機能が予定されているようだが、これは何故か縦横比が合わない。もしかして静止画のファイル化専用?というよりWindows Vistaのpaintではファイルを開くことができないようだ。また、タイミングを取るのが難しいので、現状ではCTRL+Print Screenの方が使い易いかも。メニューではなく、ボタン化してもらった方が使い易そうだ。(どうしても自分の趣味のせいか写真を撮る感覚を求めてしまう。)

コマ送りしていて気がついたが、厳密には足やスカートの形状と剛体近似に誤差を伴うためかスカートを少し足が突き抜ける場合もあるようだ。もしかするとスカートが薄いので1フレーム以内に貫通状態に突入するために『衝突』できないのかも。そうだとすると物理演算はフレームより短い時間の単位で計算する必要があるということだろうか?(もしそうなら、物理演算の時間のきざみ幅をフレーム速度の何倍にするかオプション設定できればいいのだが。ダンスって案外動きが速いからなぁ。だからこんなことが起こるのかもね。)
それでも以前に比べればかなりいいと思う。なにより物理演算がリアルタイムに行われているというのに処理の重さを感じないのは素晴らしいことだ。

動画開始時にJSONPで時刻タグのついたコメントデータを吸い上げる仕様にすればニコニコ動画風画面が作れるだろう。紙吹雪機能もCANVASを使えばいいんだろうし。前にYouTube画面を2つ以上開いたら動作がおかしかった現象は発生しなかった。Google Maps APIのタイマーイベントのバグだろうか?まだまだトライアンドエラーが続きそうだ。


MikuMikuDance5βで『剛体』表示中の様子

ツインテールは各6個の剛体で近似され、
ジョイントで互いに結合されている。

■記載日2009年6月28日■
■記載日2009年6月24日■
ついに物理エンジン
Bulletを搭載したMikuMikuDance5βの配布が開始された。⇒ダウンロード・リンク
物理エンジンによる物体干渉回避の結果、髪の毛、ネクタイ、スカートが素晴しい結果になっていた。
以前の
MMDでは、よく髪の毛やネクタイが体に刺さったり、足がスカートを貫通したりしたが、もうそんなことは起こらないようだ。モーション編集工数が大幅に軽減された。この変化は革命的だ。凄い!
編集工数が軽減されれば、表情や指使いなどの編集に割ける時間が増えるので、ますます表現力のアップした動画が投稿されることになるだろう。
また、Youtube上の動画を見ると、物理エンジンはオリジナルモデルでも機能するようだし、MMD5が正式リリースされれば、新しい振付けに取り組む人達の人口が一気に増えることになるだろうと思う。
ヘアーダイナミクスはミクの場合髪の毛のボーンに対応させて6個ずつの剛体近似を行っているようだ。
結構荒い近似に思えたが、動画を見る限り凄く柔らかさが伝わってくる。但し、髪の毛が足に衝突すると
大きな剛体に近似されているのでボールを蹴飛ばしたように跳ねる感じに見えることもあるようだ。しかしそれは大した問題ではないだろう。本当に、樋口優さんは頭が柔らかい人だと思う。

こうなると次に予想される展開は、動画から自動的にモーションデータを作成するソフトウェアの登場だ。
携帯電話やデジカメ、あるいはWebカメラの普及により殆ど誰でも動画データは撮影でき、パソコンに取り込める環境にある。ハード環境は揃っている。
人の写っていない背景データと動画の1フレームデータを比較演算し、色距離や輝度距離が一定値以上離れたピクセルを抽出し、孤立点を除去すれば各フレームでの人物だけを切り出すことができる。これを2次元シェープ化してリファレンス画像とする。カメラ位置を撮影位置と同一点と考え、グラフィックス・モデルの透視変換後のシェープとリファレンス画像の差分を推定誤差とする。この誤差が最小となる方向にモデルの各部を少しずつ動かしてゆく最小二乗近似法 を用いたモーション推定処理が考えられる。
ダンスの場合、殆どカメラ位置固定なので、一番最初のフレームだけでも手動で大体位置を合わせれば最小二乗誤差となるモデルのポーズが自動演算できるはずである。ボーンモデルは自由度に制約があるのでローカル・ミニマム問題は生じにくいはずだ。(関節が逆向きに折れ曲がらないように制約は設けなければならないかもしれないが。)加えて動画はフレーム間相関が大きいので演算負荷はかなり小さくできるのではないだろうか?(専門的な記述をしてしまった。技術屋なので許してね。)

ニコニコ動画が回線通信費と著作権料支払い額を大幅減額させる秘策がある。動画データだけはユーザーにYouTubeに投稿してもらい、メッセージやコメント等のテキスト情報だけを管理するサイトにすることだ。具体的にはこのデモのようにYouTube上の動画データを使う。あくまでも動画はYouTubeに存在するのでYouTubeの管理となる。私のパソコンは普通の
Vista機にHTTPサーバーしか載っていない。ただのクライアント・マシンだ。回線速度は実際のところ30Mbpsくらいだろう。クロス・ドメインを上手に活用すれば互換性の高いサイトが作れるのではないだろうか?一見、動画サイトだからといって凄い設備がいるわけではない。試しに検索してみたら、こんなサイトを発見した。凄いですね。
ジオタグ風景写真サイト
PanoramioGoogle Maps APIに依存しており、現在では写真データもGoogleの設備上に置いている。あながち無理なことではなさそうだ。

■記載日2009年6月15日■
■記載日2009年4月30日■
動画連続再生ツール  (試作中) 歌和サクラ、ティッシュ姫の特集を追加。
ツアー選択ボタンを追加。サムネールは未。
YouTubeで初音ミクとMikuMikuDance関連80強 の動画を集めてみました。
 予め用意されているPlaylistだと、コメント表示機能に限界もあるようですし、同期してスライド表示とかできないようなので、ディベロッパーIDを取得することなく使えるホームページ組み込み用ツールとして模索しています。(動画2つ以上同時に動作させるのはちょっと無理みたいですが。)
 ところで、YouTube
のサムネールは、http://i2.ytimg.com/vi/movie_id/default.jpg  (サブドメインはi1~i4まで)のように記録されていることがわかったので、もう少しビジュアルな再生ツールにしてみようと思 っています。ブラウザで「ソースを表示」すると現時点での中身が見れます。