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




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

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

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




【ブラウザはGoogle Chrome】

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

【お知らせ】

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

【メニュー】
  ■メモ ●ポリゴン・フィルとテクスチャー・マッピング ●透視変換 ●光源計算 ●表情処理 ●IK bone制御 ●AR sensor(拡張現実センサ)

■記載日2009年10月9日■

【コーディング前にPMDデータからIK bone処理を予想する】

前にちょっとIK(Inverse Kinematics) bone処理を考えてコーディングしてみたら、勝手にねじれてダメダメだったので、もう一度机上検討してみる。
コーディングする立場から考えると、他のBone処理のルーチンを利用できる方が好ましいはずだ。それでこうではないかと考えてみたのが図1。通常のBone処理は末端部からBone支配下の頂点座標に対して座標変換をかけて行くはずだ。きっとMMDもこの処理を流用しているはず。
PMDデータにiteration回数という項目があったのでMMD(MikuMikuDance)のIK bone制御が『反復法』なのは確実。
左側に実際のMMD(MikuMikuDance)の両足首とツインテールのIK boneを示す。両足首のIK boneは机上検討の方式と矛盾していないように見える。しかし、髪の毛のIK boneは先端が必ずしもコントロールに一致していない。Iteration回数が足らなかったのか、それとも方式が違うのか?
ただ、最小2乗法なら誤差評価関数Eがほしい。先端とコントロールの距離が最小2乗になることだろうか?この辺が不明だが、まぁやってみるか....
でもこの処理、方程式解けば反復法使わなくてもいいような気もするが、Boneチェーンが長いと演算負荷が膨らむからだろうか?
それとも同じ反復法でも線形システムなので基底遷移則(Base Transition Rule)を使ってみるかな。

【図1】IK(Inverse Kinematics) bone処理について

■記載日2011年2月1日■

【コーディング前にPMDデータからBone処理を予想する】

ちょっと時間が取れたのでPMDモデルをNyARToolkitCSで拡張現実表示しようとしている。
表情までコーディングを終えた段階で、データ構造とにらめっこ。
     .......そうか、行列の線形性を考えれば案外簡単かも。
ボーンが絡んだ頂点座標の座標変換は予めBoneごとに親ボーンも考慮した座標変換マトリックスを求めておけば簡単かもしれない。
座標変換マトリックスは『行列』だけに線形性があるから、関節部分で比率を持っていても先に最終的座標変換マトリックスの演算を行ってから頂点座標を求めればよいように思える。
個別に座標変換して座標をブレンドするのとどっちが速度的に有利なのかわからないが。
しかし、MikuMikuDanceのデータ構造は合理的だ。なるほどね。ずいぶん勉強になった気がする。
【図2】Bone処理について

【参考ページ】OpenGL Basic Bone System



【参考ページ】OpenGL Skeletal Animation