Blender3に向けてプレスリリースが盛んですが、なんといってもGeometry Nodesがよくわからない。2.93のデモファイルの作者がレッスンを開いているようなので、有料でしたが参加してみました。
レッスン場所(19ドル)はここ
これからしばらく、そのレッスン内容を元に、Geometry Nodesの基本についてメモがてらに記事化してみます。
今回のテーマは
Wind II:ドライバーによるアニメーション
- ドライバを使用して
#frame
値をアニメーション化する方法 。
です。
1 ドライバーとは
blender の公式サイトのマニュアルでは、「ドライバーとは、関数または数式を使用してプロパティの値を制御する方法です。」とあります。今一つよくわかりませんが、先ずは使ってみたいと思います。
前回の最終ファイルです。windというテクスチャを使って、草原の凹凸が表現されていますが、今回はこれに風の動きによる変化を加えていきます。
属性テクスチャ取得ノードの前に、属性ベクトル演算ノードを加え、Aを属性で値はPositionに、Bをベクトルにして、結果はPositionとします。Bの値を変化させると草原が移動してしまいます。
属性ベクトル演算ノードの結果欄をMapping、属性テクスチャ取得ノードのマッピング欄をMappingにします。ベクトルの値を変化させると草原の凹凸が順次変化し、風の通った後のようになります。
xベクトルに「#frame」と入力するとフレーム数によって変化するようになります。これがドライバーになります。xのベクトル値(プロパティ)がフレーム数によって制御されるようになります。
Shift+BackSpaceでアニメーションさせてみてください。台風の中のような草原の変化になります。
Xベクトルの値を「#frame/50」とすると穏やかな風のようになります。
ベクトルXYZ合成ノードを加えて、図のようにリンクさせます。こうするとこのドライバーの値を他の要素のプロパティとリンクさせることが可能になります。
例えばポイント移動ノードの移動値にリンクさせてみました。
次回は
風III:相対回転
- ポイント回転 ノード
rotation
を使用して、現在の属性を 失うことなく回転を変更する方法 。
です。