2014-03-28
Fitted mesh skinning
データにエラーが出てしまうので今回は使えないというお話をしました。
ただ、作業を続けていくとMaya本来のスキニングの欠点をカバーできることもわかり、
この2つを併用してスキニング作業をすることにしました。
※スキニングとは、キャラクタのモデルをスケルトン(骨)によって変形するために行う作業で、スケルトンとキャラクターモデルの関係をキャラクターモデルにペンタブで色を塗るようにして関連性の強度を設定していく作業です。
スキニング作業に移る前に、考えておかなければいけないことがあります。
「どうやって服や靴を着せるか・・・」
いくらボディ形状をデフォの体型に近づけたとしても完全に同じなわけではないですし、
スキニングもデフォアバと同じになるわけではありません。
たとえデフォアバであっても、アルファレイヤーを使わないとメッシュ服を
綺麗に着ることはできません。
スキニングはとても微妙なもので、何かのサンプルとまったく同じようにスキニングすることは
ほぼ不可能です。ですので、ショップや商品によってもスキニングの差が出ます。
このような理由から、事実上無条件で多くの服が着れる汎用性の高いボディを
制作するのは無理なことなので、ある程度の調整をしたら、それ以上は服に合わせて
ボディの一部を隠したりできる機能を充実させて補ったほうが現実的ということになります。
↑ 色分けされたパートごとに消せるようにします。もちろん使い勝手を良くしないとですねw
そこでcoldLogicさんの服のDEMOを全部いただいてきました
これをベースに可能な限りスキニングや体型を補正します。
でも実際に服を着せ替えながらスキニングをしていくと、
ひじの関節や肩など、服に合わせすぎると身体が妙な変形になって
しまう部分が出てきました。このあたりは服に合わせることをあきらめて、
生身の腕がきれいに変形することを優先します。
※どうせ後でその部分のパーツを消せるようにすればいいだけです。
靴に関しても悩みどころですけど、
マーケットプレイスを調べてみると、Slinkさんの足の形状に
合わせた靴が多く出回っているようですね
それなら・・・
マーケットプレイスで「SLink」キーワードで検索に引っかかった商品のうち、
ランダムに20足のDEMO商品を頂いてきました。
(すごい数あるのでびっくり @.@ )
この20足の靴を履けるようにすれば、汎用性に関してはなんとかなるかも・・・
↑ こういうのを全部つぶしていきます。フィットメッシュなので
足サイズも変更できるのも助けになります。
手に関しては、足ほどの汎用性は求められないと思いますので、
自由に作りたいと思います。いくつかの手のポーズを用意したいのですけど
手を複数作って別々のポーズを割り当てるより、1つの手のアニメーションの時間軸に
ポーズを割り当てて、あとでそれを切り取った方が効率的です。
ぜんぜん必要ないのですけど、せっかくアニメーションキーを打ったので、
簡易的にアニメーションさせてみたら面白かったので、動画をUPします。
※くれぐれもインワールドでアニメーションするわけじゃないですからねw
SLには指のボーンは存在しませんから・・・
ということで、こんなことを考えながら試行錯誤してスキニングをしていたら
ずいぶんと長い時間かかってしまいました。
次のはスキン製作になりますけど、とりあえず今回はここまで。
2014-03-10
Fitted mesh skinning (ng Skin Tools)
さて、UVmapの設定が終わりましたので、次にスキニング(ウェイト付け)作業
に入りたいと思います。私はMayaを使っていて、今までMaya標準の機能でスキニングを
していたのですけど、スクリプターのぽぴさんが「いいソフトあるみたいだよ」って
教えてくれたので、覚えるのも兼ねて今回はngSkinToolsというアドオンソフト(無償配布)を使ってみます。
ngSkinToolsは、Mayaのスキニング作業を簡単にしてくれる便利ツールということで、
ベータ版ですけど、無償で利用できます。このツール、Webをいろいろ探したのですけど
あまり使い方を紹介している日本語ページ見つかりません。
後ほど書きますけど、私は最終的には今回のフィットメッシュの作業ではngSkinToolsを
使わないことに決めたのですけど、ある一部を除けば(ベータ版だから?)とても便利な
ツールですので、覚書の意味も含めてご紹介します。
さてそれでは作業に入ります。
まず最初に、このソフトは英語版のMayaでしか動作しませんので、普段日本語版を使っている
私は、マイコンピュータアイコンを右クリック>>>プロパティ>>>システムの詳細設定>>>
詳細設定タブ>>>環境変数で、新規の環境変数を作り、
って入れてOK押してMayaを起動します。
すると、あら不思議・・・再インストールなしで英語版のMayaが立ち上がりますw
左上のプルダウンタブをAnimationにすると、下図の赤丸の部分にngSkinToolsが現れます。
UV加工したボディモデルと以前にご紹介した加工済み(名称変更・90度回転)の
スケルトンを用意して、まずはMaya標準の機能で自動スキニングを行います。
次に、ngSkinToolsのアイコンをクリックしてツールを立ち上げ、
Initialize Skining Layersボタンを押します。
これで、ngSkinToolsに現在のスキニング情報が読み込まれて
作業できるようになります。
ngSkinToolsの秀逸なのは、スキニング作業にレイヤーを使えることです。
スキニング作業は渡来アンドエラーの連続なので、履歴管理できる
レイヤー機能はとても助かると思います。
次にミラーリング関係を設定します。
[Mirror tab]に移動して、Inializeボタンを押し、開いたウィンドウで
もう一度Intializeボタンを押します。すると、いくつかのスケルトンは
自動でミラー関係を作ってくれます。
<->でミラー関係が表示されてるのがわかります。
でも、自動で設定されないスケルトンもあるので、その場合は
右クリックして手動でミラーリングを設定します。
さて、準備も終わりましたので、ウェイト付け作業に入りましょう。
[Paint tab]でPaintボタンを押します。
Maya機能で付けた自動ウェイトが反映されているのがおわかり頂けるでしょうか。
ペイントツールはMayaのデフォツールと似てるのでわかりやすいと
思います。英語マニュアルを読むと、Ctrlキーを押すと、ブラシ強度が
1.0から0.0に、0.9から0.1になるそうです。 これすごく便利です ^^
そらから、Mayaのオリジナル機能と同様にBボタンを押しながら
マウスを左ドラッグするとブラシサイズが変わるそうです。
と、ここまでご説明してきましたし、ngSkinToolsには別の優れた機能も
あるようなのですけど、一つ問題が起きてしまいました。
このモデルは、まだメッシュの分割が確定していなくて、
スキニングを進めながら、ある部分は分割ポイントを増やしたり、
ある部分は減らしたりしながら作業を進めたかったのですけど、
このツールで一度Initializeしてから、ポリゴン分割の増減を行うと
エラーが起きてしまうことがわかりました。
ですので、とても残念なのですけど次回からMayaの
標準機能でのスキニングをご紹介します。
それでは、また。
Fitted mesh UV map
前回フィットメッシュのボデイをデフォアバの形に合わせて調整して、
UVを自動展開するところまで書きました。今回は自動展開されたUVmapを
デフォアバのUVマップに合わせてみようと思います。
UVmapはテクスチャーの地図みたいなもので、これを下敷きにしてテクスチャーを
描かないと、オブジェクトの思い通りの場所にペイントすることができません。
ただ、他と関連なく1点だけのUVを作るなら、特にデフォアバのUV位置と一致させる
必要はありません。
ですのでNea用のUVを作るだけだったら、前回自動展開したUVで問題ないのですけど、
今回は汎用性を高くして、従来のアバター用に描いたSkinが大きな加工をせずに
そのままこのフィットメッシュボデイに適合できるようにしたいと思っています。
ご存知の方も多いかもしれませんけど、デフォアバのUVはこのようになっています。
それに対して私が自動展開されたUVmapは、前回もご紹介したように
こんな感じに展開されています。
これを角度を調整したり、切れちゃったりしている部分をくっけたりしながら
ポイントの1つ1つを根気よく調整していきます。
無機質なグリッドだけだと、適応するポイントがわからなくなっちゃうので、
こんな感じでマッピング画像に工夫したりしながら進めていきます。
とても気の長い作業なのですけど、コツコツ続けていくとこんな感じになります。
薄く見える黒い線はデフォアバのUVmap、白い線が私のモデルのUVmapです。
ここまで1週間 >.<
さて、過去に描いたデフォアバ用のSkinをマッピングしてみます。
(下のモデルは一時的にメッシュをかなり細かくプレビューしていますけど、
アップロード時には適度な目の粗さに戻します)
デフォアバには足の指がないので、足の指の部分のテクスチャーは
大きくずれて当たり前なのですけど、それ以外の部分に関しては
手の指の水かきの部分など一部の部分を除いて画像の加工なしで
対応できるようにしましたw
でも、モデルが綺麗になると気になる部分もたくさん出てきたので、
その辺の調整はまた今度^^
さて、次はいよいよスキニング作業に入ります。
それじゃ、また~