Blenderでアニメーションを作っていると、
「キーフレームは打ったけど、もう少し自然な揺れを足したい」
「この動きをループさせたい」
「全体の強さを後から調整したい」
そんな場面が結構あります。
そんなときに活躍するのが F-Curve Modifiers(Fカーブモディファイア) です。
F-Curveモディファイアは、キーフレームを直接書き換えることなく、
後から非破壊でアニメーションカーブに効果を加えられる仕組みです。
オブジェクトモディファイアが「形状」を拡張する機能なら、
F-Curveモディファイアは「動き」を拡張する機能、と言えます。
この記事では、
- F-Curveモディファイアとは何か
- どんな種類があるのか
- それぞれがどういう場面で使えるのか
を整理しながら解説していきます。
この記事は、BlenderのF-Curve Modifiers(Fカーブモディファイア)を紹介、パラメータなど解説している初級~中級者向けの記事です。
難易度
F-Curve Modifiers とは?
Fカーブモディファイアは、キーフレームを壊さずにアニメーションカーブへ後から効果を追加できる機能です。
オブジェクトモディファイアと同じく非破壊・後から調整可能・重ねがけ可能 です。
基本仕様
場所
Graph Editor → サイドバー(Nキー)→ Modifiersタブ
追加方法
Graph EditorでFカーブを選択→
Add Modifierからモディファイアを追加します。(複数追加できます。)
■ 評価順
上から順番に適用されます
(右上の点をドラッグして順番変更可能)
■ 共通設定
- Name…モディファイア名(変更可能)
- Active…名前の左の●白丸アイコン(Graph Editor上に表示される補助ガイドの表示)
- Mute…名前右のチェックボックスをオフにすると無効化
- Delete…名前右の✕アイコンで削除できる
- Influence…元のカーブとのブレンド量
- Restrict Frame Range…適用フレーム範囲を制限
- Blend In / Out…効果のフェードイン・アウトにかかるフレーム数
Active(左側の丸アイコン)の、補助ガイドとは、右上画像のグラフ上の白いポイントなどの表示です。あれはEnvelopeモディファイアのコントロールポイントの位置を表しています。ただ、ガイドが表示されるモディファイアも少なく、ほぼ使わないので普段はあまり意識しなくても問題ありません。

各モディファイア解説
- Generator(ジェネレーター)…数学の多項式でカーブを作る。
- Built-in Function(組み込み関数)…用意された数学関数を使ってカーブを作る。
- Envelope(エンベロープ)…Fカーブの形を、上下の枠(包絡線)を使って変形できる。
- Cycles(サイクル)…カーブを繰り返します。
- Noise(ノイズ)…Fカーブにノイズ(ランダムな揺れ)を加える。
- Limits(リミット)…カーブを「時間」と「値」の範囲で制限する。
- Stepped Interpolation(ステップ補間)…カーブを「カクカク(段階的)」な動きにする。
Generator(ジェネレーター)
数学の多項式でカーブを作ります。
- 直線
- 放物線
- 高次曲線
を作れる。
パラメータ
Mode
- Expanded Polynomial(展開式・多項式)
- Factorized Polynomial(因数分解式)
Additive
元カーブに足す
Order
xの最大次数
Coefficient
各項の係数
使いどころ
自動的な増減
時間経過で増える値

Built-in Function(組み込み関数)
用意された数学関数を使う。
パラメータ
Type(種類):
Sine(サイン/正弦)
Cosine(コサイン/余弦)
Tangent(タンジェント/正接)
Square Root(平方根)
Natural Log(自然対数)
Normalized Sine(sin(x)/xみたいな)
Amplitude
振幅(Yスケール)
Phase Multiplier
周波数(Xスケール)
Phase Offset
横ずらし
Value Offset
縦ずらし
Additive
元カーブに足す
使いどころ
呼吸
揺れ
ループ動作
波系モーション

※Normalized Sineはサイン関数をxで割ったような、距離の絶対値が大きくなるほど値が小さくなっていくグラフになっています。オフセットさせてアニメーションさせると、地震が来たような動きになります。だんだん大きくなって、それからまただんだん小さくなるような動きに使えます。
Envelope(エンベロープ)
Fカーブの形を、上下の枠(包絡線)を使って変形できるモディファイア。
パラメータ
Reference(参照値)
エンベロープの中心となる値。
包絡線は、この値を中心にして上下に広がります。
Min / Max(初期最小値/最大値)
参照値(Reference)からどれだけ下/上に広げるかの初期オフセット。
下限 = Reference + Min
上限 = Reference + Max
Add Control Point(制御点を追加)
現在のフレームに制御点を追加する。
そのフレームでだけEnvelopeの上下幅を変えられるようになります。
Frame(フレーム)…左側の数値
制御点を置くフレーム番号。
Min / Max(制御点の最小/最大)
そのフレームにおける、参照値からの上下オフセット。
通常のEnvelope幅とは別に、
「このフレームではもっと広げる」
「このフレームでは絞る」
といったことができます。
使いどころ
感情アニメの強弱
リップシンク補正
既存アニメの増幅・抑制

上の図は、-1~+1のサインカーブをエンベロープモディファイアで値の出力範囲を変形しているところです。
※実際のReferenceのガイド線は黒い点線で、非常に見えにくいです。
Cycles(サイクル)
Fカーブを前後に繰り返す(ループさせる)モディファイア。ループアニメを作れます。
⚠ Cyclesモディファイアは一番上にしか置けません。
パラメータ
Before / After Mode(前後のモード)
カーブの
最初より前
最後より後
をどう扱うかを決めます。
- No Cycles(ループなし)
- 元の範囲の外では繰り返さない。→ 通常のまま。
- Repeat Motion(モーションをリピート)
- カーブをそのままコピーして繰り返します。
- 例:歩行アニメを永遠にループさせる。
- Repeat with Offset(オフセットでリピート)
- 繰り返すたびに、値をずらします。次のコピーの最初のキーが、前の最後のキーに合うように縦方向にオフセットされる
- 例:Y位置がどんどん上がるジャンプ/回転が増え続ける車輪
- Repeat Mirrored(ミラーリピート)
- 1回ごとに左右反転して繰り返します。往復運動に向いています。
- 例:左右に揺れる振り子
Count(数)
何回コピーするか。
0 = 無限ループ
1以上 = 指定回数だけ繰り返す

サイクルカーブが出来た後、以下のような機能がつきます。(条件によってはつかない)
■ 自動ベジエハンドルがループを認識
ループ前後が滑らかにつながるようにハンドルが自動調整されます。→ カクつかない
■ Cycle-Aware Keying(ループ対応キー挿入)
新しいキーを打つときにループ構造を考慮してくれます。→ ループが壊れにくい
(最後のフレームの位置が最初のフレームと合わないとき、自動で揃えてくれる。※DopeSheet下などのタイムラインにあるKeyingでCycle-Aware Keyingをオンにすることが必要)
Noise(ノイズ)
Fカーブにノイズ(ランダムな揺れ)を加えるモディファイア。よく使われます。
用途例:
- カメラの揺れ(手ブレ)
- 地震のような振動
- 風による揺れ
- 機械の微振動
規則的ではない自然な動きを作るために使います。
パラメータ
Blend Type(ブレンドタイプ)
ノイズをどう合成するかを決めます。
■ Replace(置き換え)
元のカーブをベースにしてノイズ値を加算します。範囲:[-0.5 ~ 0.5]
→ 「元の動き+揺れ」を作る。
■ Add(追加)
元のカーブにノイズを加算します。
範囲:[0 ~ 1]
■ Subtract(減算)
元のカーブからノイズを引きます。
範囲:[0 ~ 1]
■ Multiply(乗算)
元の値にノイズを掛けます。
範囲:[0 ~ 1]
→ 値を揺らしながら強弱をつける。元が0の値には影響しない。

ノイズのパラメータ
- Scale(スケール)
- 横方向(時間方向)のスケール。
- 小さい値 → 細かく速い揺れ
- 大きい値 → ゆっくり大きな揺れ
- Strength(強さ)
- 縦方向(振幅)の大きさ。
- 大きい → 激しく揺れる
- 小さい → わずかな揺れ
- Offset(オフセット)
- ノイズを時間方向にずらす。
- 同じ設定でも、違う揺れ方にできます。
- Phase(位相)
- 値を変えると「揺れ方のパターン」が変わります。
- Depth(深度)
- ノイズの重なりレベル(層の数)。
- 数値を上げる → より複雑な揺れ
- legacy Noise(旧方式のノイズ)
- 旧プロジェクトとの互換用。-1~1の範囲外の値を出す問題がある
- Lacunarity(ラキュナリティ/空隙性)
- 周波数の増加率(各層の間隔)。
- Depthが0だと無効。
- 値を上げると:
- 周波数の差が大きくなる
- ノイズがより荒くなる
- Roughness(ラフネス)
- 高周波成分の強さ(細かさ)。
- Depthが0だと無効。
- 高い → ギザギザで荒い
- 低い → 滑らか

Limits(リミット)
カーブを「時間」と「値」の範囲で制限するモディファイア
- 動く時間を制限できる
- 値の上下を制限できる
という機能です。
パラメータ
Minimum / Maximum X
指定した最小フレームより前、最大フレームより後のカーブを削除し、
その部分を「一定値(コンスタント)」にします。
Minimum / Maximum Y
値を指定範囲内に固定し、それより下や上に行かないようにします。
使いどころ
- ノイズが暴れすぎるのを止めたい
- アニメーションを特定区間だけ有効にしたい
- 値を絶対に0以下にしたくない(スケールなど)

Stepped Interpolation(ステップ補間)
カーブを「カクカク(段階的)」な動きにするモディファイア。
一定フレームごとに値をサンプリングして、その値をしばらく保持するようになります。
パラメータ
Step Size(ステップサイズ)
何フレームごとに値を更新するか
例:
1 → 普通(毎フレーム変わる)
2 → 2フレームごとに変わる
5 → 5フレームごとに変わる
値が大きいほどカクカクになります。
Offset(オフセット)
サンプリング開始位置をずらす
例えば:
Step Size = 5
Offset = 2
なら、2フレーム目から5フレーム間隔でサンプリングします。タイミングを微調整するための設定です。
Start Frame(開始フレーム)
このフレームから効果を適用
それ以前は通常のカーブ。
End Frame(最終フレーム)
このフレームで効果終了
それ以降は通常のカーブ。
使いどころ
- 2Dアニメ風の「コマ打ち」表現
- ストップモーション風
- ローポリ・ロボット風の動き
- わざとカクカクさせたい演出
- Noiseと組み合わせると「ガタガタした振動」も作れます。

まとめ
F-Curveモディファイアは、既存のキーフレームアニメーションに対して後から効果を加えられる便利な機能です。
揺れやノイズを足して自然なブレを作ったり、動きをループさせたり、カクカクした動きに変化させたりと、さまざまな表現が可能です。
また、F-Curveモディファイアを複数組み合わせることで、
単純な動きをより複雑にしたり、規則的なパターンやランダムな変化を作り出すこともできます。
キーフレームを直接編集しなくても動きを調整できるため、
アニメーションを壊さずに微調整できるのも大きなメリットです。
うまく活用すれば、少ないキーでも豊かな動きを作ることができます。

コメント