以前、SoftimageXSIの技術参考サイトでも公開されていた
SoftIKに利用する式
y = 1-exp(-(x-1))+1
ある数値(上記では1)以上から徐々に変化が小さくなり、2まで達した時点で変化がとまる
以降xの値がどんなに大きくなっても2から変化しない
オブジェクトの動作をある地点から徐々に動きを止めたい場合に使用
IKのピキピキと伸びてしまう現象をこの式を使って抑制する かなりメジャーな方法
ネイピア数と累乗を利用して緩やかなカーブを書く様にするっと
さらには以下のように
y = 1-exp(-(x-a))+a
aは計算開始数、a=10なら、最大は11 a=100なら、最大は101
というよにa+1が最大値になる
分解すると、y=1-exp(-(x)) が核心部
もちろんMaxスクリプト(もしくは位置式など)でも使用できます
何度もこの魔法の式に助けられました
応用箇所はなかなかあるのではないかと
最近は自動制御部で使ってみました
実数リアクションをスクリプトで行うようなものですね
組み込み方は色々方法があります
んで、なんかごちゃごちゃ因数分解してくとこうなります
((1-exp(-(x-a+b)/b)+(a-b)/b)*b)
aは最大値、bは倍率、これで式の開始値を変幻自在に変えられます
ただし1≤b and a≥b、最大値を超えたり1以下になるとぶっ飛び仰天です
ほかにも良い方法はあると思います。お試しを
うんちく
元々はCINEMA 4Dでの技術をXSIにも適応してみた的な記事を読んだ記憶があります
Pingback: 数学 自然数が作るカーブ « sakaiden
Pingback: SoftIK のページみっけた « sakaiden