Blender|第2回点滅アニメーション(マテリアル)
前回の続きから行っていきます。
- 前回の記事:Blender|点滅アニメーション(マテリアル)
前回はパチパチっと 0 or 1 で切り替わるアニメーションを行いました。
▼ 前回 ▼
今回は下記のようなアニメーションにしてみようと思います。
▼ 今回 ▼
全体図
1段目は前回のノードです。
今回のノードは2段目になります。
解説
※ 前回の説明した箇所は省きます。
1|Sine
下記のような三角関数のカーブをアニメーションとして使用しています。
※ wikipedia の gif を参照しています。
- https://en.wikipedia.org/wiki/Sine_and_cosine
- https://ja.m.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Circle_cos_sin.gif
sin の部分を見てみると 0 ~ 1 ~ 0 ~ -1 ~ 0
といった間をループしていることがわかります。
この進捗に合わせて点滅のアニメーションを載せていきます。
2|Power
現状の Sine カーブだと 1.0
付近に滞在する時間が短く明るくなっている時間が短いため、冪乗してカーブを整形します。
▼ 実際に冪乗したカーブを見てみましょう ▼
- 紫:通常のカーブ
- 青:2乗
- 緑:10乗
ツールを使用するとカーブがどのようになっているか可視化されてわかりやすいですね!
この計算結果を見てわかることは冪乗する数値が大きくなればなるほど、0付近に値が収束していることがわかりました。
- 使用したツール:desmos.com
3|Absolute
今回はマイナスの値は使いません。
そのため絶対値にするためこのノードを使用します。
4|Subtract
先ほどの「2|Power」でグラフを作成して計算結果を見てみました。
そこで判明したのが、「冪乗する数値が大きくなればなるほど、0付近に値が収束していること」でした。
今回は 0 ~ 1
の範囲で 0が暗く、1が明るい状態を指すようにしたいです。
そのため現在のカーブを反転させる必要があります。
ですので、最大値の 1 からカーブの結果を減算する必要があります。
1目の値(1) - 2つ目の値(カーブ)
これで反転することができました。
あとは前回の記事のように Emission の強さに合わせて調整してください。
最後に
点滅アニメーションをやってみると案外基礎的な数式ノードを使うだけで実現できることが理解できました。
数式ノードを使いこなして複雑なアニメーションを実現できるようになりたいです...
▼ リファレンス ▼
※ 自身の使用しているバージョンに沿ったリファレンスを閲覧してください。