最近色々あって、ブログは全く更新出来ませんでしたが、
こないだ書いたプラグインを公開します。
Fカーブをコピーして、ミラーするツールです。
mMirrorFCurve from myara on Vimeo.
左右対称のモーションを付けている時に左側だけやって、
カーブのキーを右側にコピぺして、X軸に「-1 *」を掛けるとモーションが反転されます。
この「-1*」機能は結構便利なんですけど、これを1クリックでやりたくてスクリプトを書き始めました。
まずは、Fカーブの取得:
var fc = obj1.posx.sources;
var fc = fc(fc.count -1);
SI メールリストで誰かがこんなやり方をメールで公開していたので、試してみました。
コンパクトで良いね。
次はキーのコピー。
CopyKeys と PasteKeys でやっていましたが、キーの選択コマンドも必要らしいです。
eX-SI ブログ
よく分からないけど、一応 SelectKeysInTimespan も使っています。
そして、反転ですね。
キーの数値に -1 を掛けると、大体反転されますが、Fカーブのハンドルが反転されません!
マニュアルを探って、色々試してみてたら、LeftTanY で キーのタンジェントの取得が出来ました。
こいつを反転 (* -1) すればどうなるのかな~って試してみたら、出来ました。
大体こんな感じになります。
k = コピー先のキー
k0 = コピー元のキー
k.value = - k0.value
k.LeftTanY = - k0.LeftTanY
k.LeftTanX = k0.LeftTanX
k.Left = - k0.Left
k.RightTanY = - k0.RightTanY
k.RightTanX = k0.RightTanX
k.Right = - k0.Right
k.Interpolation = k0.Interpolation
念のためにInterpolationやLeftとRightもコピーしています。
そしてよく分からないTanXも。
value のコピーはあまり意味がない気がしますが、最初の駄目スクリプトから残っています。
これで上手く行っているっぽいので、とりあえず公開しちゃいます。
それじゃ、またやる気が出るまで。
DOWNLOAD Read more