謎の技術研究部ホームタグ謎の技術研究部とはTop›Blender›マテリアル2022-11-19【Blender】マテリアルをフレーム数でアニメーションさせる方法【Tips】マテリアルノードにてキーフレームを使わずにアニメーションさせる方法。使用ソフトウェアバージョン備考Blender3.3.1マテリアルをアニメーションエフェクトを作りたい時などBlenderでマテリアルをアニメーションさせたいときは色々ある。このときにわざわざキーフレームを書いていると作業が大変である。そこで、現在のフレーム数を取得し、その値をマテリアルのパラメタに入れる方法をサクッと紹介する。今回はこのためにロウソクの炎のようなものを簡単に作った。リアリティはないが、次の作例はキーフレームを一切使用すること無く動いている。videos.ノード例サンプルのマテリアルノードは次が全てだが、今回は作り方解説ではないので省略する。画像が小さいのでクリックで拡大。赤枠で囲った箇所が重要。Blendに設定してある。コレをやらないと透過が作用しない。やりかたValueノードを使う。次に、この値に#frameと入れるとValueノードから現在のタイムラインのフレーム数が出力されるタイムラインを再生するとこの値が毎フレーム変化するのでアニメーション用の数値として使えるというワケ。キーフレームは打つ必要がない。これで再生してみるとValueの値がフレーム数で変化するのが分かると思う。videos.#frameはドライバという機能を使った方法。これを入力して決定すると入力欄が紫色になる。ドライバ機能の本格的な使い方は他サイトに譲る。簡単な計算も加えるこのままだとフレーム番号がそのまま出てしまい、アニメーションが早すぎるといったことがよく起こる。そこでBlenderのパラメタ入力には簡単な式が入力できる小技を併用する。次のようにするとフレーム数ではなく「秒」を出力することができる。上の例では24fps設定なので1秒は24コマ。実はValue以外でも使えるわかりやすくValueノードで試したが、実はあらゆるソケットにこの値は利用できる。値が増えない?バグった時ドライバという簡易プログラムのような物を使っているので#frameを何度も入力していると壊れて止まってしまうことがある。Driverしてからもう一度入力しよう。TextureのWというソケットに「秒数」を入れている。このWは連続した数値が入って来ると、ノイズそのものもシームレスに動くというメリットがある。しないため、炎のゆらぎのようなものを作っている。知らなければ色々実験してみてほしい。基本はこのノイズからアルファを生成しているだけだ。Timeという便利なノードがある。このノードはそのまま「再生時間(秒)」と「frame」が両方出力されるので使いやすい。マテリアルノードにもほしい。ノード検索時にframeと入力すると別のアイテムが出てきてしまうので検索には注意。さいごにこの方法を使えばキーフレームを使わず再生され続けるマテリアルを作ることができる。ゲーム制作と違いBlenderではあまりエフェクトを作っている人を見かけないが、動くマテリアルは無限の可能性を秘めている。覚えてもらえたらと思う。TipsBlenderマテリアル(Blender)3DCGこの記事をシェア著者Ultra-Noob謎の技術研究部部長。3DCG以外にもDTMやプログラミング等も研究する。謎の技術研究部とはプライバシーポリシーホーム(自動スクロールなし)ご意見、お問い合わせ。