Blenderでは、シェーダーノードにアニメーション的な変化を与えることで、水の波紋・炎・流れる模様などを表現できます。この回では、ノードだけで動きを作る方法を基本から解説します。
ノードアニメーションの基本:動かすための原則
ノード単体では「動き」は持っていません。しかし、「時間に応じた値」を入力することで、動きのあるマテリアルを作ることができます。
✅ よく使うノード
ノード名 | 用途 |
---|---|
Value | 値のスライダー。時間による変化を加えるベース |
Math | 加算・乗算などで時間制御を調整 |
Mapping | 座標変化による模様の移動 |
Sine / Wave Texture | リズムや周期表現に最適 |
ColorRamp | 動きの色変化を調整するために使う |
アニメーションのための「時間」を得る方法
1. ドライバーを使う(初心者向け)
Valueノード
の値に「#frame / 50」のような数式を入力すれば、入力欄が紫色になりフレーム数に応じて値が自動更新されます。
入力例:#frame / 50
→ 1秒に約1の値が進む(24fps~30fps基準)


2. Keyframe(キーフレーム)を使う
Valueノード
を右クリック→「Insert Keyframe」- タイムラインに沿って値を変えてアニメーション
使用例①:模様が流れる水面
Texture Coordinate(Object) → Mapping(Locationに Value ノード) → Noise Texture → ColorRamp → Base Color
Mapping
ノードのX軸のLocationにValue
ノードを接続Value
ノードに「#frame / 50」などのドライバー式を入力
これだけで、水が流れるような模様の動きが作れます。
使用例②:炎やエネルギーの動き
[Noise Texture](3D) → [ColorRamp] → [Emission]
Noise Texture
の Z軸 をValue
ノードで変化させるColorRamp
で赤→オレンジ→黄色のような炎グラデーションを表現
応用:Emissionに Multiply
をかけて強度をアニメーションさせることで、揺らぎ表現も可能
使用例③:波紋・リング状の動き
[Wave Texture(Rings)] → [Mapping](Z軸アニメーション) → [ColorRamp] → [Base Color]
- Wave Textureの Ringタイプ を使用
Mapping
のスケールや位置に変化を加えることで波紋の広がりを再現
裏技:Object Infoノードの「Random」出力でオブジェクトごとに動きの差をつける
複数のオブジェクトに同じマテリアルを使っても、「ランダム性」+「Value」や「Time」連動で一体感あるアニメーションが作れます。
注意点:Eeveeでは動かない表現もある
- 一部の時間依存ノードは Cyclesでのみ反映される
- 特に Shader to RGB(トゥーン表現)などはEeveeで要検証
まとめ
シェーダーノードを動かすポイントは「時間」と「位置」の操作です。
単に色を変えるだけでなく、波打ち・点滅・スライド・模様の揺れなどの効果も作れるため、エフェクト系やアニメ風表現でも役立ちます。
コメント