2.0作成時にやってみたこと

2008.12.25

1.0を作るときに苦労しまくったので、もっと良い方法を探して試してみたらコレイイ!だったことが2つありました。どっちも3Dに慣れてる人なら当たり前なんだろうけど。。orz

どちらもweight設定周りのことですが、自分用備忘録として書いておくんですよ。

作業用bone

image

1.0作成時に使ってたこのBoneはObliで実際にゲームで使うBodyメッシュのNifファイルをImportしたときに付いていた物で、何の疑問もなくこのまま作業をしていたのですがweight設定をするときに動きを試すとワケ判らん状態になるんですよ。

image

例えばBip01 R UpperArmTwistを動かしてみると、もうワケワカラン。
IK chainっていうのかな、それが設定されてなくbone同士がバラバラなんですよね。

weightはいくつかのboneに振り分けられてるから、どう連動してるのか確認しないと把握できんのですが、このboneじゃ無理で。

それで試してみたのが先達の方のポーズ作成支援パック[Blender_KF_SupportPack]のポーズ作成用boneを移植してみるというもの。

image

先のパックのBlenderファイルの中身を丸ごとアニメーション込みのNifファイルとして出力して、SimpleDressの作業ファイルにImportし、bone以外は削除。

で、服のメッシュをこのboneにctrl+pでMake Parentしてみる。

image

これこの通り、ワカリヤスイ!!

SSには写っていませんが、スカートとの連動加減もこのboneで確認できて大助かりでした。

このboneでweight加減を確認できるようになったので、いちいちObli上でチェックする手間が大幅に減りました。8割くらいはBlenderだけでの作業で間に合うことに。

実際問題として歩かせたり走らせたりObli上で確認しないと絶対ダメですが、大きな問題はBlender上で発見できるので楽です。

服の出力をする際に元のboneにParentし直して出力するだけですから、今回の作業は全部このboneでやってしまっています。

X-Mirror

image

weight paintモードで、このX-Mirrorというモードの使い方がよく判らなかったんですよ。胴体部分のSpineなどでこの機能をonにしてるとx軸で対象にweightが塗られるので何の機能なのかは判っていたのですが、左右対象になっているUpperArmTwistなどで使えないのかと思い、ググってみて理解できました。

この機能を使うにはboneの名前を変更しないとダメで、使っているboneの例えばBip01 R UpperArmTwist、Bip01 L UpperArmTwistという左右分けの名前をBip01 UpperArmTwist.R、Bip01 UpperArmTwist.Lという具合にR、Lを拡張子扱いとして、名前自体は共通にしておけば良いようです。
名前部分はスペースが入ろうが無かろうが同じであれば他はドウデモヨサゲでした。

image

で、boneの名前を変えるとそれにParentされているメッシュのweightのbone group名も一気に変更できるので、あらかじめweightを触るメッシュは全部当該boneにMake Parentしておきます。
うっかり忘れると、メッシュごとにちまちま後からそのbone group名を変える必要が出てきます。
なんだか不思議と凹む作業なので忘れないでparentしておくこと。(体験済みなのが泣ける;;)

上のSSの赤く囲ったところの名前を変更でOKです。

でX-Mirror onで縫ってみてboneを切り替えてみるとちゃんとx軸対象にweightが塗られます。

今回あまりこの機能のお世話になることはなかったのですが、BAB版の調整のとき、手首の長さがHGECと違うので、この機能を使って調整しました。ま、メッシュのvertexの問題で100%調整できなかったのですがw

出力する際の注意ですが、名前を戻さないとダメです。
まー忘れても"uwaaaaann!出力し直しだー"で済む程度の問題ですがw

もう一つ注意ですが、この機能、ときどき何かの拍子にリンクが外れることがある気がしますよ。Spineなどを塗っててもときどきMirrorで塗ってくれてないことがあるから、bone切り替えて確認しながら使った方が良い気がします。