BlenderのグラフエディターではF-Curveモディファイアでノイズを作ったり、様々な加工を行うことができます。アニメーションを作るときに、ランダムな揺れとか、動きに応用できないかと思ってやってみました。
F-Curveで作るランダムな動きは、演技や演出用ではなく、解説用アバターなどのちょっとした追加効果としてつけています。他にもモブの動きや、ちょっとした動物・虫などの動きにも使えると思います。
F-Curveモディファイアとは
Fカーブモディファイアは、キーフレームを壊さずにアニメーションカーブへ後から効果を追加できる機能です。
オブジェクトモディファイアと同じく非破壊・後から調整可能・重ねがけ可能 です。
今回はこのモディファイアを使ってランダムな身体の動きを作ってみる方法を紹介します。
詳しく(使い方・パラメータ)は以下の記事で解説しています。
まばたき
ランダムな間隔でまばたきの動きを作ってみます。
※人間は、方向を変えるときにまばたきをするとか、まばたきにもベストなタイミングはあります。今回は、演出的なまばたきではなく、解説用アバターにつけるような簡単な、ランダムな間隔でまばたきをするアニメをつけます。演技をさせるためではありません。
まばたきをある回転の数値で制御する場合
右図のように以下の3つのモディファイアを組み合わせます。
- Noise
- Built-In Function
- Limits
0で目が開いていて、この場合は-40で目が閉じます。このアニメのために、F-Curveを右図の一番上のグラフのような形にしていきます。
以下、モディファイアを付ける順番として①~③としていますが、並行して調整していかないとうまくグラフが作れないと思いますので、パラメータは順番関係なく調整してください。
- まず、NoiseモディファイアでScaleやStrengthを調整します。このタイミングや強さは各アバターによります。
- Built-In Functionモディファイアで
- Additiveにチェック
- Phase Multiple = 0
- Value Offsetでグラフを上下させて、グラフの形を調整します。
- Limitsモディファイアで値の範囲を制限します。
- Minimum Y/Maximum Yを入力します。

身体の動き
頭の回転の動きです。例えば人間でもずっと同じ方向に頭を向けているわけではなく、首から回転させて、左右や上下にランダム?に回転させています。この動きをF-Curveモディファイアで再現します。
※ランダムな動きなので、狙ってどこかを向かせる、というものではありません。
右図上のようなカーブを作ります。各アバターのリグによって数値やプロパティは違いますが、右図の場合、回転の値がプラスだと左に向く、マイナスだと右を向くような感じになっています。
ノイズカーブを作る
まずNoiseモディファイアでノイズのカーブを作ります。
ポイントはDepthを3、Lacunarityも8くらいまで上げて、細かく振動するカーブを作ります。
それをScaleでX方向に伸ばします。StrengthはMaxの回転値をいれ、Phaseでいい感じのカーブを探ります。Roughnessで波の上下の強さを調整できます。
制御
Envelopeモディファイアでいつどこを向いてほしいか制御できます。
例えば右図だと、まずReference Min/Maxでグラフの最小値、最大値を入れます。Add Control pointでコントロールポイントを追加し、ある程度固定したい範囲の数値を入力します。(-0.1~+0.1ならほぼ正面を向く感じになります)。
Restrict Frame Rangeにチェックを入れ、どのフレーム間でその制御を効かせるか設定します。Start/Endで開始、終了フレームを入れ、Blend In /Outで何フレームでブレンドしながら動きを移行するか決めます。(20フレームくらい入れるとスムーズになります。)

完成物
右の動画に使ったアバターっぽい動きに使っています。他にもNLA(ノンリニアアニメーション)などもミックスしていますが、まばたきや頭の動きはF-Curvesモディファイアです。
これもF-Curvesモディファイアを使っていますが、もっとEnvelopeモディファイアで向きをもっと固定できないかと思いやってみたものです。




コメント