ゲーム開発ミドルウェア GameCatapult Ver0.4

ボーンウェイトプラグイン

ウェイトマップの自動生成プラグイン

ボーンウェイト自動セットアッププラグイン(LightWave用)

スクリーンショット

スケルゴンと頂点の距離を求めて、最も近いスケルゴンと同名のウェイトマップにウェイト値1.0を書き込む、という動作をします。

直接親子関係のあるスケルゴンに対してのみブレンドを試み、所属スケルゴンとブレンド対象スケルゴンの距離の差が、「ブレンド限界距離」以下のとき、その距離の差に応じてウェイトを設定します。

ブレンド限界距離は、所属スケルゴンの長さ×「ブレンド限界」(デフォルトでは5%)ということになっていて、これを「ブレンド限界の最大・最小値」でクランプした値が採用されます。基本はボーンの長さからの比率で設定するのですが、その最大値と最小値を別途指定できる、ということです。最大値を0にして最小だけ指定すると、ブレンド限界距離は常に最小値で指定した値になります。

処理後のウェイトマップは、ちょうど合計1.0になってます。

ボーンへの変換には

http://www.knock.ne.jp/%7Emoly/Programs/Calcium2/calcium2.html

Calsium2を使うので、Calsium2用のフラグに対応。

_Iとか_Fがついているスケルゴンにはウェイトマップを制作しません。

ちなみに浮動スケルゴンは親スケルゴンに所属しているとみなされるので、実質親スケルゴンの影響範囲がでかくなります。

これでわりかしキャラクターアニメーション用のウェイトマップとしてはいい感じのものが出来上がります。

とはいっても、やっぱり手作業の微調整は必須なんですけどね。

で、微調整がしやすいようにFGに存在するスケルゴンと同名でウェイトマップが制作されているものと仮定して、ウェイト値のノーマライズをするプラグインも同梱してあります。

ウェイト編集で適当に弱めたい奴を弱くして強めたい奴を強めてNormalizeWBsってボタンを押すと、ちょうど合計が1.0になるよう調整してくれます。

細かいところは

http://www.anon.jp/software/wsheet/

これと併用すると良いかもしれません。でも、これほとんどいらなくなった気がします。

スクリーンショット

SetupBWsがボーンウェイト自動セットアップ、NormalizeBWsがボーンウェイト自動ノーマライズ(常態化)です。どういうわけか、ボタン名にちゃんと日本語が使えないので英語表記です。あと、ノーマライズに対して常態化というLW独特の訳語はどうかと思いました。

Thu Sep 07 21:12:05 2006

© 2002-2005 SowwaRay