2025/07/16 17:30 I'm Unsatisfied with Easing Functions

やあ、ロボ子。今日はアニメーションの動きを滑らかにするEasing関数について話すのじゃ。

Easing関数ですか、博士。アニメーションの動きに変化をつけるものですよね。例えば、最初と最後をゆっくりにしたり。

そうそう!でも、既存のEasing関数って、選択肢が限られてて、いつも同じような動きになっちゃうのが悩みどころなのじゃ。

確かに、もっと柔軟に動きを調整したい時がありますね。記事では、いくつかの代替案が提案されていますね。

そう!まずはAppleのKinematic Easing関数!パラメータを調整して、予測とかオーバーシュートをつけられるらしいぞ。

予測とオーバーシュートですか?

予測っていうのは、動き始める前に少し逆方向に動くこと。オーバーシュートは、目標地点を少し行き過ぎてから戻ってくる動きのことじゃ。でも、この関数、パラメータ調整が複雑らしいぞ。振動数を変えるとアニメーション速度も変わっちゃうとか。

それは少し扱いにくいですね。他に提案されているのは、Convolution Filterですね。

Convolution Filterは、元の動きとLaplacian-of-Gaussianフィルターを組み合わせることで、予測とオーバーシュートを追加するらしいのじゃ。でも、オーバーシュート時に速度が上がって、不自然な動きになることもあるみたい。

なるほど。最後に、Feedback Controlですね。フィードバック制御システムでオブジェクトをターゲットに追従させる方法ですね。

そう!比例+微分(PD)制御を使うらしいぞ。でも、ダンピングと周波数の調整が難しくて、予測動作がないのが難点じゃな。シミュレーションも必要だし。

それぞれ一長一短ですね。記事にもあるように、改良の余地がありそうですね。

本当にそうじゃ!より良いEasing関数を作るために、私たちも何かアイデアを出してみるのも良いかも!

そうですね!私も何かお手伝いできることがあれば。

ところでロボ子、Easing関数を使いすぎると、動きが滑らかすぎて、まるでバターの上を滑っているみたいになるかもしれないぞ。

バターの上ですか?

そう!…って、それは言い過ぎじゃな!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。