襟IK覚書き
簡単な襟IKの導入に成功したので、blenderとPMEXを使って襟IKを導入する方法について書いておきます。よくわかってないけどなんか動いた!という素人の書いた記事であることをご理解ください。
襟IKとは
まず襟IKとはなんぞや?というところから。
百聞は一見に如かずということで、動きを見てもらった方がわかりやすいと思います。
こちらが襟IKを使っていないモデル。首ボーンを回転させると、顔が襟にめり込んでしまいます。
こちらが襟IKを導入したモデルです。
首ボーンに追従して襟ボーンが動くので、めり込みが軽減されています。
詳しい仕組みについてはくぅさんのブロマガを参考にしてください。(私も理解しきれていないので……)
導入方法
まずは下準備として、blenderで首ボーンを複製して襟ボーンを作成します。
作成したら、襟ボーンに襟のウェイトを乗せましょう。
この手順はPMXEでも可能ですが、blenderの方が操作に慣れているのでblenderでやりました。このモデルでは首ボーンと襟ボーンの位置を同じにしました。位置がずれても襟ボーンは首ボーンに追従するように動くので、挙動によって調整するのもいいのかもしれません。
次にPMXEでの作業に移ります。
頭ボーンを選択したら、右クリック→追加→複製を追加から、頭ボーンを三つ複製し、それぞれを「襟先」「襟IK」「襟IK親」とリネームしましょう。表示先から相対を選択し、すべてを0にします。また、襟先の親を襟に変更します。
次にIKの設定をしましょう。
襟IKの性能からIKにチェックを付け、ターゲットを襟先に、ループを5に、リンクを襟に変更します。リンクにボーンを追加するには、追加したいボーンを選択して右クリック→Indexコピーをした後、リンクのウインドウを右クリックしてIndexコピーから追加を選択します。
最後に、襟IK親に回転付与の設定をします。
付与の回転+にチェックを入れ、付与親を首にします。
これで導入は終わりです。トランスフォームビューから襟ボーンが首ボーンに追従して動くことを確認しましょう。
MMD/VRMモデル「左右田めろん」を配布します
みにみゅー配布しました
BOOTHを始めました
BOOTHを始めました。
グッズ制作したいよ~の気持ちが高まったのでBOOTHを始めました。
今のところ売っているのは缶バッチのみですが、いろいろ増やしていきたいなあと思っています……!どんどん買ってね!!
MMDとかでの顔の影をなんとかする(法線をいろいろな方法でいじってみる)
タイトルの通りです。
モデルを作ったものの顔の影の出方がいまいちだったのでどうにかします。
多分法線というものが悪さをしているので、それを調整してみます。
なにやら法線というものの設定次第で、影を自由に操れるようになるらしいのです。
いくつか方法を調べてみたのでそれの解説など。
また、今回MMD上でテストするにあたってこちらのシェーダーを使用させていただいています。
・PMXエディタでいじる
まずはPMXエディタで調整をする方法について。
こちらを参考にやっていきます。
PMXエディタ上で頂点を回転させるだけ、という簡単なやりかた。
調整しやすいようにまつげの材質を絞り込みから表示しないようにしています。
法線を調整したい頂点を選んだら、動(オブジェクト操作)から鏡像モードにチェックを入れ、回転から回転させていきます。
まばたきをするとまぶたに変な影ができていたこのモデルも、
このように改善できました。
お手軽!
・blenderであれやこれやする
blenderで法線を簡単に編集できるようになるアドオンをいれ、法線の変更に対応しているエクスポーターでPMXにする方法です。blenderでできるので、VRMなどにも対応できるのがいい点。こちらの記事を参考にしました。
用意するものは、
smooth Normalというblenderのアドオン↓と
カスタムノーマル対応のblender2pmx。
アドオンをインストールして有効にすると、左側のパネルにノーマルというタブが増えているかと思います。
法線を編集したい部位を選択したら、Activateをクリック。スムーズをクリックすると、陰影の感じがなめらかになっていきます。何度かクリックしてPMXに出力、エディタやMMDなどで陰影がよさげになったら完成です。
他にも法線の向きを表示できたり、頂点ごとに調整したりもできます。全体的にスムーズをかけてから細かく陰影を設定したい箇所は個別に調整していくのがいいかも。
そんな感じで調整したモデルがこちら。
まばたき時の影が調整できました。(顔の変化だけ見たかったので体の材質はちょっとサボっています)
それぞれの影の変化はこんな感じ。
左から何もしていないモデル、PMXエディタのみで調整したモデル、blenderで調整したモデルです。
陰テスト pic.twitter.com/nO0oIg7JLq
— シラガイ (@shiragai_1300) 2018年9月28日
blenderでスムーズかけるのが一番綺麗かな……??
今回の記事は以上となります。
調べてみたら案外簡単にできたので嬉しいです。それでは。
<追記>
まぶたに変な影ができるのは法線のせいもあるけれどそもそもまぶたを閉じたときの造形の問題では?という気がしてきました。
見直してみたらかなり凹んだ形になっていたのでそれを直せばなんとかなるかも……??
自作MMDモデルをMMD4Mecanimを使わずにFBXにしてVRMにする
タイトルの通りです。
PMXエディタでいろいろセットアップする直前、ガワをすべて作り終わってボーンとウェイトの設定が終わった状態のblendファイルをHumanoidにしてVRMにします。
その過程で躓いたところのまとめです。
説明が割と雑なので詳しいコンバートの仕方とかは前回の記事を見てください。
・とりあえずそのままUnityに入れてみる
とりあえずblenderの方でFBXに変換しUnityでHumanoidを選びます。
うわーすごいことになってる……直していきましょう。
Hipsは下半身に、Spineは上半身、Left ArmのHandは手首_Lにしてみましたが……
上半身と下半身の親子関係がちょっとそのままでは駄目っぽいです。
Unity上での直し方がよくわからないので、一旦blenderに戻ってボーンの設定を変えましょう。
下半身の親をセンターから無しに変更、上半身の親をセンターから下半身に変更します。すると……
今度は大丈夫そうです!
足首も設定をしなおして、Bodyはこんな感じ。
LeftHandはこう。人差し指と親指を間違えていたので直しました。
右側はLとRが違うだけなので割愛します。
Headはこう。あごあたりに前髪のボーンが割り当てられていたので消しました。
<追記>
このような状態のFBXをVRchatにアップロードしようとしたところ、Chestが無いよ!と怒られました。blender側で上半身のボーンを細分化しChestに割り当てたところ無事にアップロードすることができました。
・Tポーズじゃないって怒られる
Unityにシバかれていきますよ。
poseからEnforce T-Poseを選んでちゃんとTポーズにしてあげれば大丈夫みたいです。
場所がわかりづらくて苦戦したので書いておきました。
ちなみにこの作業を怠ってVRMにすると……
なんかちゃんとピシッとTポーズになってくれないんですね。そのうえ指もよく動かなかったです。
・Mtoonをどうにかする
VRMで使えるシェーダーは限られていて、今回はその中からVRM/MToonを使うことにしました。Mtoon、結構PMXエディタっぽい。
Mtoonで何ができるかというと、公式↓
を見ればいいのですが、ざっくりまとめると
・アニメっぽい影ができる(陰色の設定がマテリアル毎に可能)
・輪郭を描画できる(太さ、色を調節可能)
・両面描画が簡単にできる
といった感じです。
いろいろ設定をし終わったのですが輪郭線が出て欲しくないところに出てしまいました……
目周りだけに違うマテリアルを割り当て、そのマテリアルでは輪郭線を描画しないことで解決できます。
こんな感じにマテリアルをblenderの方で分けています。
Unityで新しくエッジ消し用のマテリアルを作り、それをScene上のモデルのblenderでマテリアルを割り当てたあたりにD&Dすると新しくマテリアルを割り当てることができるので
またテクスチャやシェーダーの設定をし、今度は輪郭線を出さないようにすると……
勝利しました。
・あとはVRMにするだけ
ここまできたら後はVRMにするだけです。
前回の記事を読んでください。
というわけでMMD用にセットアップしていたモデルを少しの手間でHumanoid及びVRMにすることができました。
ちょっとボーンの親子関係を見直すだけでよかったとは……
かわいかろ~~~??? pic.twitter.com/n0EA5uIGTZ
— シラガイ (@shiragai_1300) 2018年8月14日
思ったよりもお手軽に、しかもプラグイン等を使わずにできたので嬉しいです。
MMD用、Unity用と二種類のボーンを組んでそれぞれにウェイト塗りをしなくてはならないのでは……???と戦々恐々としていたのでほっとしています。
それでは。
FBXをVRM変換してVPocketに持っていく
自作モデルをVRMに変換してVpocketに入れて遊ぶ。
・Vpocketとは?
ポーズを付けたり、表情を編集できたり、さらにはARカメラまで付いているすごいアプリ。お出かけした時とかに出先で写真を撮ったりしたら楽しそうですね。
あまりにも楽しいので以前作ったVRC用モデルをVRMに変換してこのアプリに入れて遊んでみることにしました。それではやっていきましょう。
・VRM変換をする
既存の3DモデルのVRM形式へのコンバートの仕方ですが、公式がかなり丁寧なマニュアルを作ってくれています。
VRMファイルを作ってみたい - dwango on GitHub
これを読みながら、特に躓くところもなく変換をすることができましたが、一応このブログでもやり方を紹介してみようと思います。
まずUniVRMをダウンロードします。
Unityで新規プロジェクトを作ってUniVRMをUnityで読み込みます。
DLしたunitypackageをAssetsにD&Dすると読み込むことができます。
こんなウインドウが出てくるのでImportを選択。
無事UniVRMを追加できました。VRMフォルダができています。
次は、変換したいファイルをプロジェクトに追加します。
読み込ませたらマテリアルやリグの設定をします。
この辺、VRCにモデルをアップする時とまったく同じ手順でセットアップをしていきます。わかってる方は読み飛ばしてもらっても大丈夫です。
先ほど追加したファイルを今度はScenceにD&Dして配置しましょう。
まだマテリアルの設定をしていないのでこんな表示です。
テクスチャの画像をUnityに追加します。まずはモデルを追加した時と同じようにAssetsに画像をD&Dします。
今回はシェーダーをunlitにしてテクスチャを読み込みます。シェーダーのこと全然わかってないのですがいろいろやると見栄えが良くなるはずです(わからん)unlitだと陰影なしで表示される感じなのかな……???
ここ、普通のUnityのunlit(???)にしていますが、公式サイトを見たところVRM/UnlitTextureなどが推奨されているみたいです。後で直そうと思った。
unlitにしたらInspecterからテクスチャを選びます。
無事テクスチャが反映されました。同様に他のマテリアルでも設定を行っていきましょう。
次はボーンの設定です。Assetsのモデルを選択したらInspecterのRigを選択、AnimationTypeをHumanoidにしてConfigureを選択。
ボーンの設定をします。Unityが自動でボーンを認識してくれます。間違ったボーンが選択されていたら直しましょう。
このモデルはmixamoでリギングをしたのですが、何もいじらなくてもUnityにHumanoidだとわかってもらえました。mixamoはすごい。
設定が終わったらDoneを選択します。
いよいよ、VRMに書き出していきます。
VRMの設定をするには合計二回の書き出しが必要となります。
まず一回目の書き出しでVRMの規約に合致するようにモデルを正規化し、二回目の書き出しで細かい設定をするらしいです。
書き出しの準備のためにモデルの位置を調整します。モデルが原点にいなくてはならないようなので
Hierarchyからモデルを選択、InspectorのPositionを0,0,0にします。
(原点に配置するってこういうことでいいんだよね…?自信ない…)
モデルが+Zの方向に向いている必要があったりいろいろ条件があるみたいですが、今回は位置を調整するだけで大丈夫でした。
VRM→exporthumanoidを選びます。
ウインドウが出てくるので、チェックボックスに二つともチェックを入れてAuthorに作者の名前を入れます。名前を入れるとExportが選べるようになります。
クリックすると変換が始まります。
変換が終わるとこのような画面になると思います。
まずはhierarchyから変換前のFBXを削除します。
そうしたら生成されたPrefab(上の画像の〇内の左側の方のファイル)をSceneにD&D。
ここまでくればあともう一息です!
Inspecterからモデルのデータを入力しましょう。
モデルの作者名、作者への連絡先、親作品(あれば)、サムネイル、使用許諾・ライセンス情報などを入力できます。
ブレンドシェイプの設定もここからできるようです。
今回変換に使用したモデルはブレンドシェイプがないのであんまり関係ありません。
揺れ物もまったく作っていないので、モデルデータの入力さえしてしまえば完成と言えるでしょう。(揺れ物、公式サイトを見た限り結構お手軽に追加できそうです)
モデル情報を入れ終わったら再びexport humanoidを選択し……
今度は両方ともチェックを入れずにエクスポートします。
これでモデルのFBX変換は完了です!
・Vpocketに導入する
スマホでVpocketをダウンロードしたらPCに繋いで
(スマホの機種名)→内部共有ストレージ→Vpocketを開きます。
(開くとアリシアちゃんとずん子さんのVRMデータが入っているはずです)
その中に先ほどエクスポートしたVRMを入れます。
これだけでアプリの方でモデルが使えるようになっているはずです!
(VRMのサムネは正方形なのでそれ以外の縦横比の画像をサムネにするとこのように引き延ばされます。注意しましょう)
これでいろんなポーズをさせ放題。
(ただウェイトの問題かボーンの配置かプリセット1での破綻が…)
どこにだってモデルを連れていけます。
いかがだったでしょうか。
VRMには注目していたものの対応アプリが少なくどうやって遊ぶのコレ?みたいな状態だったので、こうして手軽にVRMで遊ぶことのできるアプリが登場してくれて本当に嬉しく思っています。
VRMへのコンバートですが、やってみたら案外手軽にできてしまって驚きました。白雪まりんちゃんの方も折をみて変換して遊んでみたいですね。
それでは~