blenderでMMDモデルを作ろう|第2-3回:ウェイト(ウェイトペイント、体)
前記事で紹介した3つのウェイトペイントの方法
- 自動ウェイト
- 編集モードで頂点グループの指定
- ウェイトペイントモードでぬりぬり
のうちの自動ウェイトをつかった方法について紹介します。
体でやってみようと思います。
自動ウェイトの基本的なやり方は、まずオブジェクト(今回は上半身)を選択し、Shift keyを押しながらアーマチュアを選択、Ctrl + P keyでSet Parent To -> With Automatic Weightsを選択します。
すると、自動でそれっぽい箇所に頂点グループがわりあてられ、アーマチュアモディファイアも作成されます。
ウェイトペイントモードでボーンを動かしてみます。
一応うごいてますね...。でもまだらになっているのがわかるでしょうか?
(なんとなく動けばいいということであれば、この時点でウェイト完了です。)
参考にTda式アペンドミクさんを見てみると、
こんな感じで美しいグラデーション、かつ上から下への頂点グループの流れがあります。
下半身でも同様に自動ペイントを行うと、こんな感じになりました。
変形に関与しないボーン(全ての親やセンターなど)にもウェイトが割り当てられてしまっているためです。
このように、自動ペイントはうまくいったりいかなかったりします。
特に、動かすために使うアーマチュア(インポートしたやつ)を使って自動ウェイトを行った場合です。
そこで、自動ペイントのためだけのアーマチュアを作ります(ドジャ~~~ん)。
MMDモデルの変形に必要なボーンを調べ、それがいい感じの位置に来るように作ったものがこれです。
(「いい感じの位置」の基準はTda式アペンドミクさんなど、ほかのモデルさんを参考にしたものです。)
これを作る際は、親子の関係は気にしなくて大丈夫です。
ただ、名前は変形に必要なボーン名と同じにしておかなくてはいけません。
腕やひじのボーンの向きが他と違うのは試行錯誤の結果です。
(これも地味に時間がかかりますが、一度作っておくと使いまわせるので...。)
今度はこちらのアーマチュアを使って自動ウェイトしてみます。
モディファイアの順番は、自動ウェイト用のアーマチュア後に、動かす用のアーマチュアが来るようにします。
ウェイトペイントモードでウェイトを見てみると、さきほどはまだらでしたが、今回はまぁまぁいい感じの位置にウェイトが塗られています。
下半身でも自動ウェイトを行いました。
うまく変形してくれています。
これでざっくりとしたウェイトペイントはできたはずなので、さっそくモーションを流し込んでみます。
mmd_toolsのMotionのImportを押し、ダウンロード済みのモーションを選択します。
(今回はyurieさんのクラブ=マジェスティにしました。)
Scaleのところの数値は、モデルのおおきさによって変更する必要があります。
今回、標準的な体型の大きさでモデルを作成したためScale: 1.0としましたが、標準の1/10のおおきさの場合はScale: 0.1とする必要があります。
音楽は、Video Sequence EditorでShift + A key -> Soundで追加することができます。
AV-syncにしておくと、モデルを動かした際の描画の計算が間に合わない場合でも音楽に合わせてくれます。
また、先ほどモーションをインポートする際にMarginを5としていたので、音楽のStart Frameも1+5で6にします。
(Marginは物理シミュレーションのためのものなので、物理シミュレーションをしない今回のような場合は0でも1でも構いません。)
Alt + A keyでアニメーションをstart/stopさせられます。
さっそく踊ってもらいました。
動いてると嬉しくなりますね。
でもまだおかしなところが多々あるので、次記事でそれを解消していこうと思います。
blenderでMMDモデルを作ろう|第2-2回:ウェイト(ウェイトペイント、顔と指)
ウェイト(ポリゴンがボーンに追従する度合い)の設定には主に3種類の方法があると思います。
- 自動ウェイト
- 編集モードで頂点グループの指定
- ウェイトペイントモードでぬりぬり
私は、
- 体: 自動ウェイト
- 指: 編集モードで頂点グループの指定
- 頭: ウェイトペイントモードでぬりぬり
のような感じで場合によって使い分けています。
本記事では後者2つを使った方法を紹介し、次の記事で自動ウェイトを使った方法を紹介します。
ためしに、「編集モードで頂点グループの指定」を使って目を動かしてみます。
目のオブジェクトを選択後、目.L、目.Rという頂点グループを作成します。
編集モードに入り、すべての頂点を選択後、目.Lの頂点グループにweight: 1.0でAssignします。
(ミラーモディファイアを適用後の場合は左目の頂点に目.Lを割り当て、右目の頂点に目.Rを割り当てることになります。)
モディファイアタブを開き、アーマチュアを選択し、オブジェクトのところにインポートしたアーマチュアを指定します。
アーマチュアを選択し、ポーズモードに入り、両目ボーンを回してみます。
動きました(わーい)。
次に、ウェイトペイントモードを使ってウェイトを指定してみます。
このとき、ワイヤーフレームモードにしておくこと(色が見やすくなる)と、Show Zero WeightsをActiveにしておくこと(ウェイトが乗っていないところが青から黒になりわかりやすい)がおすすめです。
アーマチュアを選択後、ポーズモードに入り、ウェイトを指定したいボーン(今回はまず頭ボーンからやってみます)を選択、次に、ウェイトを塗りたいオブジェクトを選択し、ウェイトペイントモードに入ると、先ほど選択したボーンのウェイトが塗れると思います。(若干手間ですがこの順番でやらなければできないと思います)
(えっと、いつもは、というか普通は上記のやり方でウェイトペイントができるはずなのですが、なぜか今はうまくいかないため、もう一つの方法でやります。)
頭のオブジェクトを選択後、頭、首、という頂点グループをまず作成します。
そのままウェイトペイントモードに入り、頭の頂点グループを選択した状態でウェイトを塗っていきます。
とりあえずこんな形で塗ってみました。
目のときと同様にモディファイアタブからアーマチュアモディファイアを選択し、インポートしたアーマチュアを指定します。
アーマチュアを選択後、ポーズモードに入りボーンを動かしてみます(ホラー注意)。
とりあえず動いてますね。
満足のいく結果になるまでは、ボーンを動かしつつウェイトをぬりつつ、いったりきたりする必要があります。大変です。私は苦手です。
髪にも頭のウェイトを割り当てました。
指は、「編集モードで頂点グループの指定」の方法で、ほかのモデルさんを参考にしながらウェイトを指定しました。(ウェイト、根気がいります。)
指ボーン以外のボーンもそうですが、うまいこと変形させるにはウェイト+ボーン位置が重要です。
アーマチュアの編集モードでボーン位置を調整しつつ、ウェイトぬりつつ、ボーン動かしつつ...行ったり来たりです。
次は体のウェイトペイントです。
blenderでMMDモデルを作ろう|第2-1回:ウェイト(アーマチュア作成)
私がアーマチュア(モデルを動かすためのボーンの集合体)を作る流れは、
まず、MMDに同梱されている標準ミクさんと同じ構造のアーマチュアを作る
→ アーマチュアのみ.pmxにエクスポート
→ pmxエディタで準標準ボーンを追加
→ blenderにインポート
という感じです。
配布されているモーションでモデルを動かす為にはボーンの名前(センター、グルーブなど)が標準的なものと一致していなければいけません。
また、親子の関係(親ボーンが動くと子ボーンも動く)も一致していなければいけません。
なので標準ミクさんのボーン構造と全く同じものをまずは作ります。
結構大変です。
File -> import -> MikuMikuDance Modelからミクさんをblenderにインポートします。
メッシュ(モデルを構成するポリゴン)を削除し、髪や服などに関する不要なボーンも削除します。全部で60本のボーンになりました。
これと同じものを、自分のモデルの体型にあわせて作っていきます。
ボーンやアーマチュアに関する基礎知識はこのあたりが参考になります。
【Blender】アーマチュア(ボーン)とは?簡単な使い方(1/3)【骨格を作ってポーズを取る】
blenderでMMDのボーンリギング | soramame works
(あと自分のメモ。)
気を付けるのは、
- mmd_toolsのCreate modelから最初のボーンを作ること(このあとすんなりエクスポートできるように)
- blender内のボーン名は、〇〇.L/Rにすること(左右対称で編集できるように)
- pmxへエクスポートされるときのためのボーン名は、左/右〇〇にすること(このあとpmxエディタでプラグインが使えるように)
ボーンタブの一番下、MMD Bone Toolsというところで名前を指定できます。
です。
親子関係に気を付けつつ、ボーンをリネームしながら作るというのが地味に時間がかかるのですが、一度このアーマチュアを作っておくと使いまわすことができます。
標準ミクさんをインポートしたときに自動で生成される、_shadowや_dummyなどがついたボーンもすべてまねて作ります。
ボーンにもレイヤーというものがあり、最初は可視になっていないレイヤーにもボーンがあったりするので要注意です。
ボーンの制約(コンストレイント)、IKなどの設定もすべて同じにします。
60本すべて設置し終わりました。(最初に作られた全ての親ボーンはこのあとpmxエディタで追加するため削除しました。)
このアーマチュアを.pmxにエクスポートします。
mmd_toolsのCreate Modelでアーマチュアを作った際、シーンの中心にモデル名(今回はBasic_armという名前にしました)のエンプティ(十字みたいな形のやつ)が作られたと思います。
それがアーマチュアの親になってると思います。
このエンプティを選択してエクスポートします。
エクスポートしたpmxファイルをpmxエディタで開きます。
編集 -> プラグイン -> User -> 準標準ボーン追加 (PMX) を選択し、必要な準標準ボーン追加します。(ほとんどのものにチェックを入れておきました。)
そして、モデルを別名で保存し(今回はExtended_arm.pmxという名前にしました)、blenderにインポートします。
インポートされたアーマチュアを見るとぱっと見あまり変化がありませんが、編集モードに入るとボーン数が増えており、準標準ボーンが追加されていることが分かります。
これでモデルを動かすためのアーマチュアの準備ができたので、次は本格的にウェイトペイントです。
blenderでMMDモデルを作ろう|第1回:造形
基本的な操作方法や、下絵を準備して面を張って~…というモデリングの流れは、すでに多くのブログやyoutube、ニコニコなどで解説されているため、このブログでは割愛します(バッサリ)。
このブログを書こうと思ったのも、造形に関する解説は多いのに、その後どうやってMMDにもっていけるのか、というものは少なくて自分が困ったからです。
造形に関して参考になったものをいくつかご紹介すると、
という感じです。
最初から人物(キャラクター)は難しすぎるからやらないほうがいいという意見や、静物なんてモチベがあがらない=続かない!という意見もあります。
自分の興味がある、一番やる気がでそうなものから始めるのが個人的にはいいかと思います。
このブログで今後MMDモデルにしていく予定の、造形がすんだものが、こちらです。
(今まで作ったモデルのパーツを組み合わせてシンプルな謎人物を作りました。)
ちなみにこのチョコレート色のようなものは、N keyで表示される画面右横にあるタブ内の、Matcapをオンにするとみられます。
また、そのすぐ下にあるAmbient Occlusion(疑似的な影)をオンにしておくと、顔にできた不要なしわなどを発見しやすいです。
なので、私がモデリングする際はいろいろな種類のMatcapを使ってみたり、Ambient Occlusionをオンにしたりオフにしたりしながら、変なところがないかチェックしています。
モディファイアはオブジェクトごとに設定されるため、使いたいモディファイアごとに/または自分が分かりやすいように、複数のオブジェクトで1つのモデルを構成しています。
基本的にすべてのオブジェクトでミラーモディファイアを使用しています。
また、顔と髪にはサブディビジョンサーフェースモディファイア(以下、サブサーフと書きます)を使用しています。
そして、材質/マテリアルも簡易的に設定しています。
マテリアルの設定方法について簡単に説明します。
まずマテリアルビューにし、
Shift + A keyでライトを追加します。
私はいつもヘミライトを使います。ヘミライトの位置はどこにあっても関係ありません。
ライトを追加したそのままの向きだとモデルの顔が怖くなるので、いつもx軸ですこし傾けています。
そして、マテリアルを設定したいオブジェクトを選択し、マテリアルタブのNewを押してマテリアルを設定していきます。
試しにズボン(靴と一体型になっている)でやってみると、
選択したオブジェクト(ズボン)全体の色が変わります。
1つのオブジェクトで複数のマテリアルを設定したい場合は、まずマテリアルの右上にある+を押して新たなマテリアルを作ります。
次に編集モードに入り、マテリアルを変更したい面を選択します(今回はベルトと靴底)。
そしてAssignボタンを押せば、材質が割り当てられます。
これと同様のやり方で肌の色や目の色を指定できます。
マテリアルの設定はこの段階で行う必要はないのですが、この後ウェイトを設定する際に色がついていたほうが服の貫通などにも気づきやすいと思います。
UV展開やテクスチャについてはのちのちやっていくのですが、髪に関してはすでにUV展開しテクスチャを張っています。
なぜかというと、造形後にテクスチャを張ってまっすぐな髪の流れにするのは難しいためです。
なので、UV展開し、テクスチャを張ったものを髪のような形に変形させています。
今回の髪では、こちらのブログを参考にしました。
モデルを構成するすべてのオブジェクトにマテリアルを設定し、こんな感じになりました(シンプル!)。
初めてモデリングをやってみてここまで来た方は本当にすごい!えらい!素晴らしい!
ウェイトに続きます。
MMD動画制作日記|ジョルノでフィクサー(3作目)
モデリングではなく動画制作の思い出みたいなものをつらつら書きます。
日記みたいなもので誰得でもありません。
MMD動画制作日記と書いてますが使ったツールはMikuMikuDanceだったりblenderだったりします。
2体目のモデル、ジョルノを作ってからの動画は3作目。
ジョルノのカラーは歴代ジョジョ集合絵のうちの1つからとってきました。
フィクサーは曲もダンスもかっこよくていいですよね~。
5部に出てくるネアポリス駅でおどってたらかっこいいな~と思って駅も作りました。
霧が濃くでている深夜4時のイメージです。
ローポリ;▽;
シーンが重くなりすぎるのが嫌だったので全体的にローポリで作りました。
ネアポリス駅はゲーム、アイズオブヘブンにもでてくるのでそちらも大いに参考にしました。
漫画にでてくるのはデジタルの時計なんですけど、雰囲気重視でアナログにしました。
ここ!水飲み場のポリゴンが重なっててちらついてるんですよね;
気づかなかった;
モデルについても少し触れると、15歳ということを意識しすぎて頭身低くしすぎたことと、肩の位置が異様に高いことが反省点かな(笑)
このときから、cyclesからblender internalのほうに移行したのでレンダリング速度はあがった。
それでも駅の頂点数が多い分時間はかかって、2,3日位だったと思う。
この次の作品でジョルノの頭身をたかくするんですけど、高くしてからはこの動画見て「ちんちくりんすぎやろ...;;」となってしまいまともに動画を見られなくなりました。
MMD動画制作日記|ブチャラティでエイリアンエイリアン(2作目)
モデリングではなく動画制作の思い出みたいなものをつらつら書きます。
日記みたいなもので誰得でもありません。
MMD動画制作日記と書いてますが使ったツールはMikuMikuDanceだったりblenderだったりします。
ブチャモデルの顔を少しいじってからの2作目。
1作目に引き続きナユタン星人さんの曲。そして歌もEveさん。
最初に出てくるUFOは未起隆のUFOをイメージして作った。
cyclesでは光源が小さい/弱いほどレンダリングに時間がかかりノイズものるらしいんですが、この最初のシーンでは光源をだんだん小さく/弱くしていったので1フレーム5分くらいはレンダリングにかかった(笑)
人間の大きさを変えるのは大変そうだったのでUFOをだんだん小さくした。
目だけマテリアルをemissionという光る系のものに。
MMDでいうところのAutoLuminousに少し似てるかも。
ブチャラティの髪留めをとってエイリアンっぽい触覚をはやしたのでどなたかに怒られるだろうか..と少しびくびくしながらつくった。
ブチャラティの触覚はcloth simulationを、エイリアンの触覚はslow parentを使った。
(普通、子は親に遅れず追従して動くんですが、数フレーム遅れて追従することによって、ふよふよぴょんぴょんした動きを表現できたりする: slow parent)
クレジットのテキストをゴォッと吸い込むところがポイント(笑)
顔だけで言うとこのときが一番よかったかもしれない(ポリ割は最悪)。
このシーンもいつ誰に怒られてもおかしくない。
小さいほうが子エイリアンで、子エイリアンが侵食を開始してブチャもエイリアンになりかけだったのが進行する、みたいな意味不明なことを考えてました。
cyclesでは地面を表示させず地面にうつる影だけを表示させるのが若干面倒(nodeとかcompositionをいじらないといけない)なんですが、それにも挑戦しました。
1作目でできなかったのがくやしかったからね(笑)
これにもレンダリングは時間かかった。2台のMacBook回し続けて3,4日くらい。
とりあえず、今のところは動画の演出について怒られてません。