自作かフリーの3Dモデルにモーションを付けてみます。

ボーンやウェイト付けするのにBlenderやPMDEditorを使用します。

ボーンを付ける方法としては既存のボーンを流用するか、一から作るといったやり方があります。

まずはどんな感じか知るために既存のボーンを流用してやってみます。

既存のボーンを流用する場合3Dモデルの初期状態が、所謂「A-スタンス」である方が楽です。

ボーンのずれは、後でボーン位置を調整するやり方もあります。

モデルを作成するやり方と、既存のモデルを使う2つの方法でやってみます。

モデル作成は「メタセコイア」のフリー版(LE)を使い、ボーン・ウェイト付けはPMDEditor(0.0.6.3)を使ってみます。

関節の作成など細かい部分は今回は無し。

またボーンを一から作成する場合は、Blenderを使用してみます。

PMDEditorやミクさんのPMDデータは初音ミクモデルにアクセサリを付けてみる からダウンロードできます。




「メタセコイア」のフリー版(LE)を使って3Dモデルを作成

腕の長さや角度、足の長さなどのバランスをとる意味で「A-スタンス」に近いモデルを作成するために、下絵を使います。

初音ミクさんを参考にしたいので、ミクさんの「A-スタンス」の画像を取得します。

何を使ってもいいですが、簡単なやり方としてVMDViewを使ってみます。

VMDViewでミクさんのPMDデータを読み込んで、最初のフレームを画像に落とします。

メニュの「映像出力-AVI/連番BMP」を使います。

出力した画像を少し加工します。メタセコイアで下絵として取り込んだ画像は中心が原点に重なります。 だもんで、ミクさんの足の底辺が画像の中心になるようにします。

こんな感じ。



これをベースにして単純なモデルを作ってみます。

メタセコのメニュの「表示」->「下絵の設定」で画像を読み込みます。

「基本図形」の球体を使って頭部を作成。



以後、円柱や直方体を使って、首・ボディ・腕・足の順で加えていきます。



一部のパーツのみ選択する場合は、「選択」->「接続面」を使います。

パーツを追加したりサイズを変えたりしながら調整、各パーツに材質を加えて終了。



このモデルをX-ファイルとして保存しておきます。




PMDEditorを使って既存のボーンを流用してみる

既存のPMDからボーン・データのみ取り出します。

PMDEditorでミクさんのPMDを読み込みます。



ここから「表情」を初期化しておきます。



データを適当な名前で保存し、その後このデータを「強制取り込み」します。



「ボーン」「IK」「表示枠」の3つの項目にのみチェック。



ボーンのみが読み込まれます。



このデータを適当な名前(例えばtest)で保存しておきます。



先に作成した3Dモデルにボーン・ウェイトを付けてみます。

まず保存しておいたボーンのデータを読み込み、その後で3Dモデルを「追加インポート」で読み込みます。

ボーンとモデルのサイズが一致しない場合は、追加インポートで倍率を調整しながら何度か繰り返してみてください。



センターボーンの関連付け



ボーンの位置を調整する場合



位置の調整は片側だけでいいです。

反対側は、ボーンを選んでから、「左右ボーン位置合わせ」を選べば調整されます。

ボーンを選びやすくするには、「表示」の「頂点/材質マスキング」で材質を非表示するといいです。





各頂点のボーンに対するウェイトの設定



ウェイト描画(スキニング)をしてみます。

右ひじのボーンの場合

開始ボタンをクリックし、Shiftキーを押しながらボーンを選択。

その後、モデルの頂点を選びます。

以後、各ボーンごとにこれを繰り返します。



開始ボタンを再度クリックし終了。

メニュのTボタン(TransformView)で動きを確認します。



腕のボーンを回転させると、モデルの腕が回ります。

こういう状態で、関節はどうなっているかと言うと、こんな感じになっています。








既存のモデルを使ってみる

Thingverseにあったモデルです。

スターウォーズで出てきた「Jar Jar Binks」。

Jar Jar BinksのSTLデータ

STLをBlenderやnetfabbなどを使ってWavefrontのobj形式に変換してメタセコイアに読み込みます。

「オブジェクトの挿入」で読み込んだ場合はこんな感じ。

原点が中心に来ています。PMDEditorで使用する場合は、座標面に乗った位置にあることが必要なので、選択して移動させます。





これに色をつけてX-ファイルで保存。

追加
色をつける場合、パーツ(腕や足、胴体、アクセサリなど)ごとに材質を変えて色づけするとウェイト描画などの際に便利です。 材質を選んで非表示にしておけば、余計な頂点を選ばなくてすみます。

こんな感じ。



上記と同様に、ボーンを読み込んだ後JARJARを追加インポートします。



腕と足のボーンがずれています。

上記の”ボーンの位置調整”を参考にします。

ボーンを選んで腕にあわせます。



最後に指先を調整。



反対側は「左右ボーン位置合わせ」を使います。

調整済みのボーンをすべて選んでから実行。



足についても同様。

ボーンの次にウェイト描画を実行します。

例えば腕の場合。



ひじと手首も同様にします。



各ボーンでウェイトの塗りつぶしを実行。

モーション確認は上記参照。

追加
色分けしたモデルに両腕・両足をウェイト付けしてモーションさせてみました。
TransformViewで表示。






Blenderを使ってボーンを一から作成してみる

工事中(Under construction)

To be continued!






ミクさんのボーン






ミクさんのパーツ

初音ミク・モデルのパーツです。



17のパーツで成り立っていますが、基本となるのは7つだと思われます。






初音ミクさんのPMDをばらしてみました。

ボーン(pmd)と各パーツ(obj)です。

お試しください。