スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スキニング

ボーンウェイトに関しては、後手後手になってしまっていたので
ここいらでひとつ、ウェイト周りを勉強してみましょう
というわけで、カスタム少女スキニング講座(?)です

※この記事はwindowsXP 32bit環境によるものです。
64bit環境の方はこちらを参照してください。

まず、TSOWeightという有用なツールがありますが
これは頂点数個ぐらいをちょっと直したい時に絶大な威力を発揮します。
しかし、破綻箇所が多すぎるとこれだけでは手に負えません。
手作業ウェイトペイントのみで全てを修正するのはまぁ不可能ではありませんが
作業時間がもったいないです。

そこで一からスキニングし直しを実践してみようじゃありませんか。
現在これが行えるのは(mqo2tsoの代替ボーン機能は除く)

・tso2toyを用いたTOYSTUDIOでの編集
・Blenderスクリプトを用いたBlenderでの編集

これらの二者択一になってしまいます。
Blenderのほうは梱包時にバグってお手上げなので
ここはTOYSTUDIOでやってみましょう。

このへんを解説した文献があまり無いので(必要ないからなのかも・・・?)
猿でも(自分でも)わかるように画像多めで自力でまとめてみます。


1). 下準備

必要なツールは
tso2toy
TOYSTUDIO
(使用したバージョンはtso2toy a-r5、TOYSTUDIO 1.4.0.6)

※追記:tso2toy a-r5はTOYSTUDIOファイルバージョン9、10にしか対応してません。
 旧バージョンのTOYSTUDIOは現在でも入手できるので公式ページを参照してください。


tso2toyはDOSプロンプト用プログラムなのですが、バッチファイルを作っておくと楽に変換できます。
自分の場合は2つのバッチファイルを用意してます。

tso→toy変換用 ”tso2toy.bat”↓中身
Tso2Toy x "%~dpn1.tso" "%~dpn1Out.toy"
pause


toy→tso”toy2tso.bat”↓中身
Tso2Toy cs "%~dpn1.tso" "%~dpn1.toy" "%~dpn1Out.tso"
pause

これらを作っておいて、作業用フォルダに各々のバッチへのショートカットを作っておけば
ショートカットにtso/toyファイルをD&Dすれば変換してくれます。
出力したファイルにはOutという文字が追加されますが
必要に応じて(特にtoy→tso時)ファイル名を書き換えてます。

変換時のコマンドは以下を参照してください。

tso2toy x 読み込みtsoファイル 出力toyファイル
 tsoファイルからTOYSTUDIOファイルを生成します。

tso2toy c 参照tsoファイル 参照toyファイル 出力tsoファイル
 新しいtsoファイルを作成します。

tso2toy cs 参照tsoファイル 参照toyファイル 出力tsoファイル
 新しいtsoファイルを作成します。
 cコマンドとの差は、サブメッシュ再構成を行うため、1オブジェクト16ボーンの制限が無いことです。
(試験機能)

あとはTOYSTUDIOのインストールを行えば準備は完了です。




2). tsoをtoyに変換してTOYSTUDIOに読み込んでみる

この例ではスキニングし直したいパーツ(スカート)をtsoにしました。
そして先ほど作ったtso2toyのショートカットにD&Dするだけでtoyファイルが得られます。
最初はパーツ単体でやったほうが理解しやすいと思います。
でTOYSTUDIO起動して開いてみると
skining1
ボーンと編集したいパーツ(スカート)が無事出てきました。

※追記:toyファイルと同じディレクトリにマテリアルのテクスチャファイルがないと
 テクスチャが読み込まれませんが、スキニング作業には無くても関係ないので気にせず続行しています。


スカートのボーンを適当に動かしてみると
カス子上で起こる、そうじゃないでしょ的破綻が再現されていますね。
skining1




3). スムーズスキニングする

左のほうにあるオブジェクトパネルというものに注目します。
skining1
Rootというものを開いてみると、その下にdefaultとW_Hipsというものが出てきました。
defaultはスカートのオブジェのメッシュで、W_Hipsはカス子ボーンの親です。

スムーズスキニングを行うには対象メッシュとボーンを両選択する必要があるので
これら2つ(この例ではdefaultとW_Hips)をShiftキー押しながら両選択し
その状態でオブジェクトタブ→スムーズスキニングを実行します。

skining1
両選択してるはずなのに、”汎用メッシュとジョイントを選択してください。”と
よく怒られるんですが、その場合選択し直せばうまくいきます。

すると、このようなダイアログが出てきます。
skining1
これは影響させたいボーンを選択するものです。
一旦、全て解除を実行して、影響させたいボーンにチェックを入れていきます。
このパーツの場合は腰のあたり(W_Hips、W_Spine_Dummy、W_Spine1)と
スカートのボーン全部にチェック入れてみました。

減衰率は本家チュートリアルによると、
”「減衰率」を大きくするほど、メッシュとボーンの距離に応じたウェイトの強弱が大きくなります。”
とのことです・・・意味がよく分からないです;
色々試してみるのがいいんではないでしょうか。
ちなみに減衰率0にするとボーン動かしても形状が変わらなくなりましたので
大きくするほどよく動くという感じでしょうかね。
これでいいかな?と思ったらOK押せばスキニング完了です。
何度でもやり直せるので気楽にやりましょう。

ボーンを動かしてみると、ステキステキ!いい感じになってるじゃありませんか!
skining1
これでスキニングは完了なのでtoyファイルを保存して
あとはtsoに変換するだけです。





4). tsoに変換する
1).で作ったショートカットにD&Dするだけです。
toy→tso変換時はcまたはcsコマンドを使いますが、csのほうが優秀っぽいのでこちらにしておきます。
csコマンド使うときは参照tsoファイルが必要になります。
**.toyの**部分が同じtsoファイルを用意しておかないと変換してくれません。
これでスキニングし直したtsoが得られるはずです。

参考までに自分の場合、TSOWeightで修正した場合もそうですが
ウェイト直したデータはtso梱包時の参照用ウェイトデータとして別個で保存してます。
**_bone.tsoなどとファイル名変えておくと分かりやすいです。

ではカス子さんで読み込んでみましょう。
skining1
左は修正前の適当なスカートのウェイトを参照しただけのもの
右はスキニングし直したものです。
うまくいったようですね。

ただ、スカートなどの場合、スキニングし直しても激しい動きには耐えられず
それでも形状破綻起こしてしまいますねぇ・・・。
ボーンとボーンの中間の部分辺りがなかなか厳しいです。
破綻が起こりやすい物体は減衰率低めにして動きを鈍めにしたほうがいいかもしれませんね。
色々試してみましょう。


これで解説は終わりです。
間違っていたり大事なことが抜けていたら加筆修正するかもしれません。


色々やってみた結果

スムーズスキニングに向いてるもの
スカート類、髪、上服類(服はスキニングしただけでは大体はみ出しますが)

ちょっと厳しいもの
手足指などの関節類(ひしゃげが起こります。が、範囲指定をうまく使えばなんとかなるかも?)

かなり厳しいもの(ボーンが密集してると無理ぽ)
股関節、顔

コメントの投稿

非公開コメント

No title

こういう初中級者向けのチュートリアルってあまりないのでとても有り難いです!
Blenderは現バージョンでもまだバグってるのでしょうか?
バグが取れたら、ぜひBlenderのチュートリアルも書いていただけると嬉しいですね。

No title

>>なむさま

他人が読んで理解できるのかちょっと不安な解説ですけどね・・・(汗

本当はBlenderでやりたかったのですが(そのためにBlenderちょっといじったんですが)
何度やってもエクスポートがうまくいかないのでお手上げなのです。
バグではなく設定ミスの可能性が高いのですが
どうすればいいのか全く分からないので諦めました。

TOYSTUDIOを実際に使ってみると
非常に使いやすかったので、今は更に突っ込んだ影響範囲指定などを試してます。
この辺もそのうち記事にしておきたいなと思ってます。

No title

重要なお知らせ

tso2toy.exe(a-r5)はTOYSTUDIOのファイルバージョン9または10にしか
対応してないようです。
実はこの記事書いてた時点ではv1.4.0.6を使用してまして
その後、最新版(FV17)で変換できたつもりだったのですが気のせいだったようですorz
旧バージョンのTOYSTUDIOはこちらにあります。
ttp://kotona.bona.jp/download/download_old/

よって、一部本文を訂正しました。
プロフィール

charon888

Author:charon888
FC2ブログへようこそ!

最新記事
最新コメント
月別アーカイブ
カテゴリ
FC2カウンター
リンク
検索フォーム
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。