2011年8月16日火曜日

ミラーリング

アニメーションの作業すると度々ミラーリングをしてデータを作成する機会があります。
そんなときMotionBuilderだとMirror機能を使えばキャラクターはミラーリングをすぐにできます。

次にやりたいと思うのは剣とか銃とかいわゆる武器系のミラーリングなんですね。

MotionBuilderのMirror機能を使った体のモーションに合うように武器もミラーリングする方法は、回転をどうミラーリングするかが肝になってきます。

MotionBuilderのデフォルト機能でやろうとしたんですけどそれらしい機能が見つからなかったです。

次に力技としてオイラー角をいじろうとすると思ったとおりならなかったりする場合がよくおきます。

そこで私が考えた方法として、3PointConstraintを使ってミラーリングする方法です。

1.Nullを3つ作成して、Parent/Childコンストなどで武器のデータを流し込みます
 このとき3pointConstを使うことを意識して武器の根元、先端、UPVectorに配置します。

2.Parent/ChaildのコンストをOFFにして、武器のRotaionを1で作成した3つのNullを使用して3PointConstでコンストレインします。

3.新しく親用のNullなどを原点に作成して、1で作成したNull3つを子供にします。

4.その親のScaleXを-1に設定します。これでRotationは反転することになります。

5.武器のTransXのFカーブの値に対して-1を乗算します。これでTranslationは反転することになります。

手間はかかるけど、これで武器のミラーリングをすることが出来ます。


手間がかかるから自動でミラーリングするスクリプトを作ったほうがいいかもしれないですね。

0 件のコメント:

コメントを投稿