2014-03-28

Fitted mesh skinning

さて、前回ngSkinTools をご紹介し、とてもいいツールなのですけど、ポリゴンを加工すると
データにエラーが出てしまうので今回は使えないというお話をしました。
ただ、作業を続けていくとMaya本来のスキニングの欠点をカバーできることもわかり、
この2つを併用してスキニング作業をすることにしました。

※スキニングとは、キャラクタのモデルをスケルトン(骨)によって変形するために行う作業で、スケルトンとキャラクターモデルの関係をキャラクターモデルにペンタブで色を塗るようにして関連性の強度を設定していく作業です。

スキニング作業に移る前に、考えておかなければいけないことがあります。
「どうやって服や靴を着せるか・・・」
いくらボディ形状をデフォの体型に近づけたとしても完全に同じなわけではないですし、
スキニングもデフォアバと同じになるわけではありません。
たとえデフォアバであっても、アルファレイヤーを使わないとメッシュ服を
綺麗に着ることはできません。
スキニングはとても微妙なもので、何かのサンプルとまったく同じようにスキニングすることは
ほぼ不可能です。ですので、ショップや商品によってもスキニングの差が出ます。
このような理由から、事実上無条件で多くの服が着れる汎用性の高いボディを
制作するのは無理なことなので、ある程度の調整をしたら、それ以上は服に合わせて
ボディの一部を隠したりできる機能を充実させて補ったほうが現実的ということになります。
926d8a0db71213cfa97b16db79c1437a
↑ 色分けされたパートごとに消せるようにします。もちろん使い勝手を良くしないとですねw

そこでcoldLogicさんの服のDEMOを全部いただいてきました
これをベースに可能な限りスキニングや体型を補正します。
でも実際に服を着せ替えながらスキニングをしていくと、
ひじの関節や肩など、服に合わせすぎると身体が妙な変形になって
しまう部分が出てきました。このあたりは服に合わせることをあきらめて、
生身の腕がきれいに変形することを優先します。
※どうせ後でその部分のパーツを消せるようにすればいいだけです。
 5d1c339789d5389a523c7c0c9bf849ee 56c62964cee1aefa2bb5cbba9113a5f5 524528ce1ef9a716884e553cf92b0355

靴に関しても悩みどころですけど、
マーケットプレイスを調べてみると、Slinkさんの足の形状に
合わせた靴が多く出回っているようですね 
それなら・・・
マーケットプレイスで「SLink」キーワードで検索に引っかかった商品のうち、
ランダムに20足のDEMO商品を頂いてきました。
(すごい数あるのでびっくり @.@ )
この20足の靴を履けるようにすれば、汎用性に関してはなんとかなるかも・・・
 49e7129c7f0b3eced3a495fc3e65ae67
↑ こういうのを全部つぶしていきます。フィットメッシュなので
足サイズも変更できるのも助けになります。

手に関しては、足ほどの汎用性は求められないと思いますので、
自由に作りたいと思います。いくつかの手のポーズを用意したいのですけど
手を複数作って別々のポーズを割り当てるより、1つの手のアニメーションの時間軸に
ポーズを割り当てて、あとでそれを切り取った方が効率的です。
ぜんぜん必要ないのですけど、せっかくアニメーションキーを打ったので、
簡易的にアニメーションさせてみたら面白かったので、動画をUPします。

 
※くれぐれもインワールドでアニメーションするわけじゃないですからねw
 SLには指のボーンは存在しませんから・・・

ということで、こんなことを考えながら試行錯誤してスキニングをしていたら
ずいぶんと長い時間かかってしまいました。
次のはスキン製作になりますけど、とりあえず今回はここまで。

2014-03-10

Fitted mesh skinning (ng Skin Tools)

さて、UVmapの設定が終わりましたので、次にスキニング(ウェイト付け)作業

に入りたいと思います。私はMayaを使っていて、今までMaya標準の機能でスキニングを

していたのですけど、スクリプターのぽぴさんが「いいソフトあるみたいだよ」って

教えてくれたので、覚えるのも兼ねて今回はngSkinToolsというアドオンソフト(無償配布)を使ってみます。

ngSkinToolsは、Mayaのスキニング作業を簡単にしてくれる便利ツールということで、

ベータ版ですけど、無償で利用できます。このツール、Webをいろいろ探したのですけど

あまり使い方を紹介している日本語ページ見つかりません。

 

後ほど書きますけど、私は最終的には今回のフィットメッシュの作業ではngSkinTools

使わないことに決めたのですけど、ある一部を除けば(ベータ版だから?)とても便利な

ツールですので、覚書の意味も含めてご紹介します。

 

さてそれでは作業に入ります。

まず最初に、このソフトは英語版のMayaでしか動作しませんので、普段日本語版を使っている

私は、マイコンピュータアイコンを右クリック>>>プロパティ>>>システムの詳細設定>>>

詳細設定タブ>>>環境変数で、新規の環境変数を作り、

51507da889c01da6184b1b2b5c237a8e

って入れてOK押してMayaを起動します。

すると、あら不思議・・・再インストールなしで英語版のMayaが立ち上がりますw

左上のプルダウンタブをAnimationにすると、下図の赤丸の部分にngSkinToolsが現れます。

5c796e651752d8c52f5ee742a302831f

UV加工したボディモデルと以前にご紹介した加工済み(名称変更・90度回転)の

スケルトンを用意して、まずはMaya標準の機能で自動スキニングを行います。

978d456153ecfa717de95f2bfad4fcf8

次に、ngSkinToolsのアイコンをクリックしてツールを立ち上げ、

Initialize Skining Layersボタンを押します。

これで、ngSkinToolsに現在のスキニング情報が読み込まれて

作業できるようになります。

ce63968475994fb0a0e8a0e1b383e53f

ngSkinToolsの秀逸なのは、スキニング作業にレイヤーを使えることです。

スキニング作業は渡来アンドエラーの連続なので、履歴管理できる

レイヤー機能はとても助かると思います。

次にミラーリング関係を設定します。

[Mirror tab]に移動して、Inializeボタンを押し、開いたウィンドウで

もう一度Intializeボタンを押します。すると、いくつかのスケルトンは

自動でミラー関係を作ってくれます。

<->でミラー関係が表示されてるのがわかります。

f8e5a89b873537e4970661f6d08380c8

でも、自動で設定されないスケルトンもあるので、その場合は

右クリックして手動でミラーリングを設定します。

c125562b84a1610f5665341836fefccd

さて、準備も終わりましたので、ウェイト付け作業に入りましょう。

[Paint tab]でPaintボタンを押します。

af92d9e43d1341ee9c91a36c4a046518

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はこのようになっています。

dd670e69b431b1bf2d80b73e620dbc61 ba0d9f864c58d943b34a48510e130a4c

それに対して私が自動展開されたUVmapは、前回もご紹介したように

51a6ccaf8c4fc5392d5e9289c552600e 9954924745986265cab702b9d86c7e88

こんな感じに展開されています。

これを角度を調整したり、切れちゃったりしている部分をくっけたりしながら

ポイントの1つ1つを根気よく調整していきます。

無機質なグリッドだけだと、適応するポイントがわからなくなっちゃうので、

6541fb825d609608388ef891105d886f 2d7489ed86de9aba5af2bcc3bfe5de88

こんな感じでマッピング画像に工夫したりしながら進めていきます。

とても気の長い作業なのですけど、コツコツ続けていくとこんな感じになります。

薄く見える黒い線はデフォアバのUVmap、白い線が私のモデルのUVmapです。

ここまで1週間 >.<

75dbf13e86fd97821096dedf68acba64 ba30f50d103aac3b75760f5e1f23d84b

 

さて、過去に描いたデフォアバ用のSkinをマッピングしてみます。

(下のモデルは一時的にメッシュをかなり細かくプレビューしていますけど、

 アップロード時には適度な目の粗さに戻します)

f3559a0beb6ea974a04b762908aaeae3 d68ea6dc04632780596cf7d0788a9642 3148fbe99b16d1ad63b30dcc86af3fe6 b3b1b525f3716d96b0d7101c5469b8b9 6ca3fab6d4ab102dfc661f3b801b088a 70d9a29b1d15fa97d0bfc4a1035c9351

デフォアバには足の指がないので、足の指の部分のテクスチャーは

大きくずれて当たり前なのですけど、それ以外の部分に関しては

手の指の水かきの部分など一部の部分を除いて画像の加工なしで

対応できるようにしましたw

でも、モデルが綺麗になると気になる部分もたくさん出てきたので、

その辺の調整はまた今度^^

さて、次はいよいよスキニング作業に入ります。

それじゃ、また~