Working Toe(仕事するつま先)修正法
こちらの動画で紹介されているプラグインを使用し、Working Toe(仕事するつま先、以下WT)を組み込んだモデルにおいて、つま先が破綻する際の修正方法について説明します。
私自身はWTの原理について全く理解していませんが、つま先が地面にめり込みそうになるときに自動でつま先を曲げてくれる非常に便利なものです。
モーション: yurieさん
しかし、稀につま先があらぬ方向に向いてしまうことがあります。
モーション: 慧太郎さん
その際は、左/右足先EXボーンを選択し、localのx軸回転させると元にもどります。
難しい場合はカメラで映さないようにしたり、WTを組み込んでいないモデルを使用したりしてもいいと思います。
他に修正法が見つかり次第、追記します。
うさこ式MMDモデル利用規約 / モデル一覧
以下の利用規約は予告なく変更することがあり、最新のものが適用されます。
====== オリジナルモデル共通規約 ======
はじめに
興味を持っていただいてありがとうございます。
至らない点ばかりだと思いますが遊べたら遊んでみてください。
免責事項
モデルを使用した際に発生したいかなるトラブルも負いかねます。
利用規約
[禁止事項]
- 公序良俗に反する行為
- 商用利用
- 再配布
[可能な行為]
- 改造(造形、テクスチャ、物理演算、ウェイトなど)
- 改造後の再配布
[お願い]
- 配布動画または静画のコンテンツツリーの親作品登録(宜しくお願いします)
さいごに
規約に関して疑問点や不安な点がある場合こちらの記事にコメントしてください。
モデル製作者:うさこ
twitter ID : @usausakokoko
規約更新履歴
2018/09/17 公開
.
======== オリジナルモデル一覧 ========
- 人型モデルA
説明: http://seiga.nicovideo.jp/seiga/im8518131
配布場所: https://ux.getuploader.com/usako2/download/1
pass: hma - バイカラードーム
説明: http://seiga.nicovideo.jp/seiga/im9387171
配布場所: https://ux.getuploader.com/usako2/download/3
pass: bcsd
blenderでMMDモデルを作ろう|第10回:左右非対称モーフ
pmxをblenderにインポートし、左右非対称モーフを作っていきます。
その前に、(最後にやってもいいのですが)pmxエディタで
- 表示枠
- モーフの表示パネル
- ボーン順(闇鍋プラグイン)
- 腕や指ボーンのローカル軸設定
を整えておきます。
方法については様々なブログで解説されているため割愛します。
(表示枠の分け方などは好みでやればいいのかなと思います。)
では、blenderにインポートしていきます。
画面左側パネルのmmd_tools、Model: Importから物理演算の設定を終えたpmxファイルをインポートします。
Remove Doublesにチェックを入れておくと重複頂点が削除されます。
きちんとインポートされたようです。シーンにヘミライトを追加しました。
顔の左右非対称モーフを作りたいのでまず顔の頂点を選択します。
どんなやり方でもいいのですが、マテリアルタブから顔のマテリアルを選択、Selectをポチ、で材質が割り当てられた面を選択することができます。
Shift + H keyで顔以外を非表示にしました。
B key (Box Select) などを使って顔の右側の頂点を選択し、face.Rという頂点グループを作成、Weight: 1でAssignします。
次に顔の左側の頂点を選択するのですが、画面下のSelect -> Mirrorで、x軸反対側の頂点を選択することができます。
face.Lという頂点グループを作成し、Weight: 1.0でAssignします。
最後に中心の頂点を選択し、Weight: 0.5でface.Lとface.RにそれぞれAssignします。
これで準備完了です。
眉の上L、上Rから作ってみます。
上のシェイプキーを1にした状態で+-の下の▼からNew Shape From Mixを二度ポチポチ。
Blendのところに先ほど作ったface.Lの頂点グループを指定すると、顔の左側だけにシェイプキーが反映されます。これで上Lを作成できました。
もう一つの新たなシェイプキーにはface.Rを指定し、上Rを作成します。
このように、
- すでにあるシェイプキーをNew Shape From Mixで2つ複製
- それぞれのシェイプキーのBlendにface.L/face.Rを指定
で左右非対称モーフを量産していきます。
組み合わせていろんなモーフを作っても楽しいですよね。
ウィンクなども同様に作りました。
最後に、照れのシェイプキーと同様の手順で汗のシェイプキーも作ります。
好きなだけモーフを作ったら、エクスポートし、作ったモーフを表示枠に追加したり表示パネルを変更したりします。
MMDでも動作を確認してみます。
モーション: まっさん、SZKさん (Lips Are Movin')
これで、私がMMDモデルを作るときの工程はすべて終了です。
ここまで読んでいただいた方、いらっしゃいましたらありがとうございます、そしてお疲れ様でした!
blenderでMMDモデルを作ろう|第9-2回:物理設定、剛体とジョイント
pmxにエクスポートして、ジョイントと剛体を設置していきます。
ジョイントと剛体についてはこちらのブログが大変参考になります。
【Tips】MMDモデルの物理演算設定 ~剛体編~:くぅ&みぃのブロマガ - ブロマガ
【Tips】MMDモデルの物理演算設定 ~ジョイント編~:くぅ&みぃのブロマガ - ブロマガ
pmxエディタでエクスポートしたファイルを開き、頭と横髪ボーンを選択し、
PmxViewの編集 -> 選択ボーン -> 基礎剛体/連結Jointの作成を選択します。
頭のジョイントは不要なので削除します(削除していないとMMDが落ちるらしいです)。
頭の剛体をボーン追従、髪の剛体を物理+ボーン位置合わせにします。
(髪の剛体はボーン位置合わせにしていないと、激しい動きの時ににょーんとあらぬ方向に飛ぶ/伸びることがあります。)
また、髪のボーンがたくさんある場合はそれらが互いに衝突してぶるぶるしないよう、非衝突グループを指定しておいた方がいいです。
PmxViewの左上のTボタンをポチ、TransformViewを開き、▷ボタンで再生してみます。
あとは、再生しつつ頭や首のボーンを動かしながら剛体とジョイントのパラメータを調整していきます。
以下のように剛体とジョイントのパラメータを変更してみました。
TransformViewで確認したところ、揺れ方はいいかなと思うですが、変形がやっぱり気に入りません。
剛体とジョイントの情報をメモ帳へコピペしておき、
blenderに戻り、Blurブラシを多用してもう少しウェイトを調整しました。
再度エクスポートし、先ほどのメモ帳から剛体とジョイントの情報をコピペします。
TransformViewで確認したところ、変形は前よりはよくなりました。
MMDでも確認してみます。
hinoさんの[A]ddictionモーションをお借りしました。
(ブログ用ですm(_ _)m)
— うさこ (@usausakokoko) 2018年9月16日
モーション: hinoさん ([A]ddiction)
振付: 足太ぺんたさん pic.twitter.com/Am4z75rxLm
髪がなかなかに板っぽいのと今更肩の変形がやだなとか思ってしまいましたが;、とりあえず次に進めようと思います。
最後は左右非対称モーフを作ります。
blenderでMMDモデルを作ろう|第9-1回:物理設定、ウェイト
次は髪や服などを揺らすための物理演算の設定をしていきます。
私は、ボーンの設置やウェイトをblenderでやったあと、pmxエディタでジョイントと剛体を設置しています。
また、
- ピアスやジッパー(かたい): 編集モードで頂点グループの指定
- 髪やネクタイ(柔らかい): 自動ウェイトもしくは手動ウェイトペイント
- 裾やスカート(柔らかい、横に広がる): 曲面自動設定プラグイン(pmxエディタ)
のように使い分けています。
曲面自動設定プラグインについては配布動画とマニュアルが参考になるかと思います。
今回は単純な例として、おかっぱの横髪をやっていきます。
ちなみに、髪のオブジェクトはミラー、厚み付け、サブサーフの3つのモディファイアを利用しています。
モディファイアがオフの状態だととても単純なメッシュになっています。
まずはボーンを設置します。
揺れの基点となりそうな場所に3Dカーソルを設置し、アーマチュアの編集モードでShift + A keyでボーンを作成します。
ボーンの先端(チップ)を選択し、適当な場所へG keyで移動させます。
blender内でのボーン名を横髪.L、エクスポート用のボーン名をMMD Bone Toolsで左横髪にリネームしました。
そのボーンを選択した状態で、W key -> Symmetrizeで、横髪.Rのボーンを作成します。
横髪、頭ボーンの順でShift選択し、Ctrl + P key -> Keep Offsetで、横髪ボーンを頭ボーンの子にします。
髪のオブジェクトを選択した状態でウェイトペイントモードに入り、横髪.Lボーンを選択し、ウェイトを塗っていきます。
Drawブラシを選択、Strength: 1とし、Weight Gradientをポチ、ウェイトを強くしたい部分からカーソルをドラッグし、グラディエントウェイトを塗りました。
次は頭ボーンを選択し、Subtractブラシを選択、Strength: 1とし、Weight Gradientをポチ、ウェイトを弱くしたい部分からカーソルをドラッグしました。
横髪.Lボーンを回転させてみて、BlurブラシとSubstractブラシで若干調整しました。
今、横髪.Lボーンを動かすと右側の髪も一緒に動いてしまっている状態です。
頂点グループのところで、横髪.Rという頂点グループを作ると、自動的に横髪.Lをミラーしたウェイトがわりふられます。
例えば、髪の房がたくさんある場合でも面マスクモードを使用し、同じようにウェイトグラディエントでウェイトを塗ることができます。
また、今回は使用しませんが、曲面自動設定プラグインを使用する際は、プラグイン使用時に選択する予定の頂点には何の頂点グループも割り当てられていない状態にしておかないと、プラグインがうまくいかないことが多いです(私だけかもしれませんが)。
髪の変形が満足いく形になればとりあえずのウェイトの準備完了なので、次はpmxにエクスポートしてジョイントと剛体を設置してみます。
blenderでMMDモデルを作ろう|第8回:エクスポート
blenderでMMDモデルを作ろう|第2-?回:ウェイト(エクスポートしてみる?) - うさこのブログ
上記事とかぶる部分も多くなると思いますが、pmxへのエクスポートの手順をまとめます。
- Vertex Mix Modifierを使用している場合は適用しておく
- 不要な頂点グループを削除した後、Weight ToolsのLimit Total: 4にしておく
- エンプティ -> アーマチュア -> メッシュという親子関係を作っておく
これらの手順は上記事のほうが詳しく書いています。
一つ目と二つ目はやってなくても大丈夫なこともあるので、一度エクスポートしてみてウェイトがおかしかったらblenderに戻って一つ目と二つ目を試すというのもありだと思います。
最後のエンプティですが、Shift + A keyから生成する通常のエンプティではだめで、エクスポートのためのエンプティはmmd_toolsのCreate New Modelから作ることができます。
例えばblender内で全く新しいアーマチュアを作ってそれをpmxにエクスポートしたい場合は、
- Create New Modelをポチ(エンプティとアーマチュア(全ての親ボーン)が生成される。)
- エクスポートしたいアーマチュア -> 先ほど生成されたエンプティの順でShift選択し、Ctrl + P key -> Object (Keep Transform)で親子関係を作る
-
Create New Modelで生成された方のアーマチュアを削除
この状態でエンプティを選択しエクスポートすると所望のアーマチュアがエクスポートできます。
また、pmxエディタやMMDで表示されるモデル名やコメントもblender内で設定できます。
エンプティを選択した状態でオブジェクトタブを一番下までスクロールするとMMD Model Informationがあり、そこで指定できます。
適当な名前を付けました。
コメントは、テキストエディタを開きブラウズボタンから[モデル名]_commentを選択すると編集できます。
デフォルトでは exported by mmd_tools となっており、今回はこのままでいきます。
画面左側のパネル、mmd_toolsで、ボーンやモーフの表示枠もblender内で設定できるようになっています。
これに関してはpmxエディタのほうが楽だと思うので、私はblender内ではあまりやりません。
また、mmd_toolsでエクスポートされる際、モディファイアは今見えている状態が適用されるようです。
例えば、サブサーフの場合Viewが2、Renderが1になっていると、2の状態でモディファイアが適用されるみたいです。
ちなみに、blender内でどんなポーズをしていても、どれだけモーフがオンになっていてもエクスポート時には反映されません。
では、エンプティを選択した状態で画面左側パネルのmmd_tools、Model: Exportでエクスポートしてみます。
Copy Texturesに✔が入っていると新たにtexというテクスチャ用のフォルダが生成されます。
(既に作ってあるのでオフにしました。)
Visible Meshes Onlyに✔が入っていると、3Dビューポート上で非表示になっているオブジェクトはエクスポートされません。
(今回特にそういったオブジェクトはありませんがなんとなく✔してみました。)
エクスポートしたものをpmxエディタで開いてみると、きちんとエクスポートされているようです。
ファイル -> pmxデータの検証からデータを確認したところ、表示枠以外は問題なさそうです。
MMDでも読み込んで躍らせてみます。
hinoさんの[A]ddictionモーションをお借りしました。
エフェクトも使ってみます。
東郷 枢さんのTPOShader、966さんのAlbino_Toonをお借りしました。
(まばたきの時、二重ラインのところがギザギザしていたので「さっき諦めたテクスチャのあのギザギザかー!」と思って、blenderに戻ってギザギザを再度Smearブラシできれいに整えてみましたが、変わりませんでした。)
また、曇@のあきさんのGirlsモーションを流し込んだところ、ひじに破綻が見つかりました。
blenderに戻ってweightのlimit total:4にすると、10 vertex weight limitedのメッセージが。
再度MMDに読み込んで確認したところ、ひじの破綻はなくなりました。
(そういえば、エクスポート直前にひじのループカットを増やしていました。)
他は特に大きな問題はなさそうなので、ひとしきり躍らせた後blenderにもどり、今度は物理演算のための準備をしていきます。
blenderでMMDモデルを作ろう|第7回:材質分け
次は材質分けをしていきます。
モデルを配布し始めのころ、材質分けの重要性やなんのためになん十個もの材質に分けてるのかわからず、必要最低限しか材質をわけてませんでした。
MMDでエフェクトを使う際に、材質が細かく分けられていた方が便利だそうです。
あとは改造のときとか。
モデルを配布せず自分だけが使うということであれば自分の必要な分だけ材質をわけ、配布する予定の場合はある程度は細かく分けておいた方がいいみたいです。
まず顔からやっていきます。
前記事で作った顔.001というマテリアルは顔_透過に変更しておきました。
顔のオブジェクトを選択後、+ボタンをポチ -> マテリアルマークのブラウズボタンから顔を選択、を繰り返し、顔のマテリアルを必要そうな数だけ増やします。
Fマークのとなりにある数値をポチ、顔のマテリアルを複製しました。
適当に名前を変更しました。
△▽ボタンで順番を変え、透過が一番下にくるようにしました。
編集モードに入ってL keyでパーツを選択し、所望のマテリアルにAssignします。
私は、AssignしたらH keyで非表示にし、どんどん見える部分を減らしながらマテリアルを徐々にAssignしていきます。
適宜上記と同様の方法でマテリアルを増やします。
マテリアルを選択した状態でSelectを押すと、割り当てられた面を確認することができます。
分け終わりました。
mmd_toolsでエクスポートされるときは、基本的にこの材質の順番になります。
(異なるオブジェクトで同じマテリアルを使っていたりするとまた変わってきます。)
mmd_toolsではblender内で、拡散色や反射色などpmxエディタと同様に材質の設定ができます。
pmxエディタだとshift選択で一気に複数の材質の拡散色を変更したりできますが、blender内ではできません(たぶん)。
blenderで各材質の設定をするのは少しめんどうですが、このあとエクスポートし材質設定を変更、MMDで確認 -> blenderに戻って作業-> 再度エクスポートし材質設定を変更 ->...を繰り返すのもめんどうです。
材質分け後の材質設定はblenderでやってもpmxエディタでやってもどっちでもいいと思います。
私はblenderでやります。
マテリアルタブを一番下までスクロールすると、MMD MaterialとMMD Textureというのがあり、そこで材質やテクスチャの設定をすることができます。
(pmxエディタとだいたい位置関係も同じなので英語は雰囲気でわかるんじゃないでしょうか...。)
スフィアやtoonのテクスチャはAddボタンからテクスチャを選択できます。
スフィアの加算、乗算などの指定はSphere Map Typeというところから選択できます。
(Toonはいつも自前のものを使っていたので初めてやってみたのですが)
MMDと同梱のtoonテクスチャを使用する場合、まずUser Preferencesでtoonのあるフォルダを指定する必要があります。
User PreferencesのAdd-onsタブ、Objectのところからmmd_toolsを開き、Shared Toon Texture Folderのところで MMD\MikuMikuDance_[version]\Data を指定します。
そして先ほどのMMD TextureでUse Shared Toon Textureに✔。
右の数値を変更するとToonの種類が選べます。
となっているようです。
初めてMMDと同梱のToonを指定してみたところ、blenderでの表示はなかなか怖いことに。
一度エクスポートして確認してみましたが、MMDではきちんと普通の影の表示になりました。
自前のtoonテクスチャに戻し、すべてのマテリアル(材質)の設定が終わりました。
同様のことをすべてのオブジェクト/マテリアルで繰り返します。
全部で19の材質に分け終えました。
次はエクスポートします。