【Blenderジオメトリーノード】衝撃!光線と破壊アニメーションの作り方【SNSで話題の3Dエフェクト】


💥 SNSで話題沸騰!Blenderジオメトリーノードで迫力の破壊アニメーションを再現!

このチュートリアルは、あかりノートさんの素晴らしいYouTube動画を参考に作成しました。あかりノートさんの詳細かつ分かりやすい解説に深く感謝いたします。

もし、このアニメーションの作成プロセスを動画で直接確認したい場合は、以下のリンクからあかりノートさんの元の動画をご覧ください:

あかりノートさんのBlenderジオメトリーノード解説動画

「Blenderのジオメトリーノード (Geometry Nodes)って、こんなすごい破壊アニメーションが作れるの!?」 「まるで映画のワンシーンみたい!でも、どうやって作るんだろう…」 「SNSでよく見る、あの光線が落ちてきて建物が崩れるエフェクト、自分でも作ってみたい!」

もしあなたがそう感じているなら、この記事はまさにうってつけです!ジオメトリーノードは、ノード(箱)を線でつなぐだけで、驚くほど複雑でリアルな3Dエフェクトやアニメーションを作り出せる、Blenderの強力な機能です。

今回は、Blenderジオメトリーノードを使った、光線が落ちてきて建物が破壊される迫力満点のアニメーションの作り方を、動画の手順に沿ってステップバイステップで徹底解説します。

この記事を読み終える頃には、あなたもジオメトリーノードの応用テクニックをマスターし、SNSで注目されるようなオリジナルの3Dアニメーションを作成できるようになるでしょう!

この記事で学べること:

  • 発光する爆発エフェクトの作成とコンポジット設定
  • ジオメトリーノード光線とリング状の雲を生成しアニメーションさせる方法
  • ランダムなビル群を簡単に作成するテクニック
  • プロキシミティ(近接)機能を使った破壊アニメーションの制御
  • 瓦礫が舞い上がる動きと、ビルが消える演出
  • リアルなマテリアルドラマチックなライティング設定

難しい専門知識は不要!一緒に手を動かしながら、Blenderジオメトリーノードの無限の可能性を体験してみましょう!


A. 準備:Blenderを起動してレンダー設定を行う

まずは、Blenderを起動し、今回の複雑なアニメーション作成に適したレンダー環境を整えましょう。

  1. Blenderを起動する:
    • Blenderを立ち上げます。初期表示されている「立方体」は使用しませんので、選択して Delete キーで削除しておきましょう。
  2. カラーマネジメントの設定:
    • プロパティエディターの「レンダープロパティ (Render Properties)」タブ内にある「カラーマネジメント (Color Management)」セクションを展開します。
    • ビュー変換 (View Transform)」を「スタンダード (Standard)」に変更します。これにより、色の鮮やかさが向上し、発光表現がより美しくなります。

B. 爆発エフェクト(半球状の光)を作成する

まずは、地面に光線が着弾した際に発生する、半球状の爆発エフェクトを作成します。

  1. UV球を追加し、滑らかにする:
    • 3Dビューポートで Shift + A > 「メッシュ (Mesh)」>「UV球 (UV Sphere)」を追加します。
    • UV球を右クリックし、「スムーズシェード (Shade Smooth)」を選択して、表面を滑らかにします。
  2. 発光マテリアルを設定する:
    • 画面上部のワークスペースタブから「シェーディング (Shading)」ワークスペースに切り替えます。
    • UV球が選択されている状態で、シェーダーエディターの「新規 (New)」ボタンをクリックして新しいマテリアルを作成します。
    • プリンシプルBSDF (Principled BSDF)」ノードは削除します。
    • Shift + A > 「シェーダー (Shader)」>「放射 (Emission)」ノードを2つ追加します。
    • それぞれの「放射 (Emission)」ノードの「カラー (Color)」を、一つは「」、もう一つは「オレンジ」に設定し、「強さ (Strength)」をそれぞれ「2」程度に設定します。
    • Shift + A > 「シェーダー (Shader)」>「ミックスシェーダー (Mix Shader)」ノードを追加します。
    • 2つの「放射」ノードの出力を「ミックスシェーダー」ノードの「シェーダー (Shader)」入力に接続します。
    • Shift + A > 「入力 (Input)」>「レイヤーウェイト (Layer Weight)」ノードを追加します。
    • Shift + A > 「コンバーター (Converter)」>「カラーランプ (Color Ramp)」ノードを追加します。
    • レイヤーウェイト (Layer Weight)」ノードの「全方向 (Facing)」出力を、「カラーランプ (Color Ramp)」ノードの「係数 (Factor)」入力に接続します。
    • カラーランプ (Color Ramp)」ノードの「カラー (Color)」出力を、「ミックスシェーダー (Mix Shader)」ノードの「係数 (Factor)」入力に接続します。
    • 「カラーランプ」のスライダーを調整して、球体の中央から外側へ色が変化するグラデーション(白からオレンジ)を作成します。
    • 「ミックスシェーダー」ノードの出力を「マテリアル出力 (Material Output)」ノードの「サーフェス (Surface)」入力に接続します。
  3. コンポジターでグレア(ブルーム)を追加する:
    • 画面上部のワークスペースタブから「コンポジティング (Compositing)」ワークスペースに切り替えます。
    • ノードを使用 (Use Nodes)」にチェックを入れます。
    • レンダーレイヤー (Render Layers)」ノードと「コンポジット (Composite)」ノードの間に、「フィルター (Filter)」>「グレア (Glare)」ノードを追加します。
    • グレア (Glare)」ノードの「タイプ (Type)」を「Fog Glow」に設定し、「サイズ (Size)」や「しきい値 (Threshold)」を調整して、発光が強調されるようにします。

👉 「なるほど!」ポイント: この爆発エフェクトは、ジオメトリーノードを使わずに、発光するマテリアルコンポジターでのグレア効果を組み合わせることで、リアルな光の表現を作り出しています。特に「レイヤーウェイト」と「カラーランプ」を使うことで、中心から外側へのグラデーションを簡単に表現できるのがポイントです。


C. 光線とリング状の雲をジオメトリーノードで作成する

次に、空から落ちてくる光線と、それに伴って発生するリング状の雲をジオメトリーノードで作成します。

  1. 新しいジオメトリーノードツリーを作成する:
    • 3Dビューポートで Shift + A > 「メッシュ (Mesh)」>「平面 (Plane)」を追加します。
    • この平面を選択した状態で、プロパティエディターの「モディファイアープロパティ (Modifier Properties)」(スパナのアイコン)タブを開き、「モディファイアーを追加 (Add Modifier)」>「ジオメトリーノード (Geometry Nodes)」を選択します。
    • 新規 (New)」ボタンをクリックして新しいジオメトリーノードツリーを作成します。
    • グループ入力 (Group Input)」ノードは削除します。
  2. 光線のベースを作成する:
    • Shift + A > 「カーブプリミティブ (Curve Primitive)」>「カーブライン (Curve Line)」ノードを追加します。
    • この「カーブライン (Curve Line)」ノードの「カーブ (Curve)」出力を、「グループ出力 (Group Output)」ノードの「ジオメトリー (Geometry)」入力に接続します。
    • カーブライン (Curve Line)」ノードの「終了 (End)」の「Z」を「2.5」程度に設定し、縦長の直線にします。
    • Shift + A > 「カーブ (Curve)」>「カーブリサンプル (Resample Curve)」ノードを追加し、「カーブライン」と「グループ出力」の間に配置します。
    • カーブリサンプル (Resample Curve)」ノードの「カウント (Count)」を「10」程度に設定し、直線を細かく分割します。
  3. リング状の雲をインスタンスで配置する:
    • Shift + A > 「インスタンス (Instances)」>「ポイントにインスタンス (Instance on Points)」ノードを追加し、「カーブリサンプル」と「グループ出力」の間に配置します。
    • Shift + A > 「カーブプリミティブ (Curve Primitive)」>「カーブサークル (Curve Circle)」ノードを追加します。
    • この「カーブサークル (Curve Circle)」ノードの「カーブ (Curve)」出力を、「ポイントにインスタンス (Instance on Points)」ノードの「インスタンス (Instance)」入力に接続します。
    • これにより、直線上に複数の円が配置されます。
  4. 光線と雲に厚みを付ける:
    • Shift + A > 「カーブ (Curve)」>「カーブからメッシュ (Curve to Mesh)」ノードを追加し、「ポイントにインスタンス」と「グループ出力」の間に配置します。
    • Shift + A > 「カーブプリミティブ (Curve Primitive)」>「カーブサークル (Curve Circle)」ノードをもう一つ追加します。
    • この新しい「カーブサークル (Curve Circle)」ノードの「カーブ (Curve)」出力を、「カーブからメッシュ (Curve to Mesh)」ノードの「プロファイルカーブ (Profile Curve)」入力に接続します。
    • カーブサークル (Curve Circle)」ノードの「半径 (Radius)」を「0.1」程度に設定し、光線とリングに細い厚みを付けます。
  5. 光線とリングの表示範囲をアニメーションで制御する:
    • Shift + A > 「カーブ (Curve)」>「カーブをトリム (Trim Curve)」ノードを追加し、「カーブリサンプル」と「ポイントにインスタンス」の間に配置します。
    • Shift + A > 「ジオメトリー (Geometry)」>「終点選択 (Endpoint Selection)」ノードを追加します。
    • Shift + A > 「ユーティリティ (Utilities)」>「数値演算 (Math)」ノードを追加し、モードを「比較 (Compare)」に設定します。
    • 終点選択 (Endpoint Selection)」ノードの「開始 (Start)」出力を、「数値演算 (Math)」ノードの「値 (Value)」入力に接続します。
    • 数値演算 (Math)」ノードの「結果 (Result)」出力を、「カーブをトリム (Trim Curve)」ノードの「開始 (Start)」入力に接続します。
    • 数値演算 (Math)」ノードの「しきい値 (Threshold)」をアニメーションさせることで、光線が上から下に伸びてくるように見せることができます。
    • 同様に、「カーブをトリム (Trim Curve)」ノードの「終了 (End)」入力にもキーフレームを打つことで、光線の長さやリングの数を制御できます。
  6. リングのサイズを上空ほど大きくする:
    • Shift + A > 「入力 (Input)」>「スプラインパラメータ (Spline Parameter)」ノードを追加します。
    • Shift + A > 「コンバーター (Converter)」>「カラーランプ (Color Ramp)」ノードを追加します。
    • Shift + A > 「ユーティリティ (Utilities)」>「数値演算 (Math)」ノードを追加し、モードを「乗算 (Multiply)」に設定します。
    • スプラインパラメータ (Spline Parameter)」ノードの「係数 (Factor)」出力を、「カラーランプ (Color Ramp)」ノードの「係数 (Factor)」入力に接続します。
    • カラーランプ (Color Ramp)」ノードの「カラー (Color)」出力を、「数値演算 (Math)」ノードの「値1 (Value1)」入力に接続します。
    • 数値演算 (Math)」ノードの「結果 (Result)」出力を、「ポイントにインスタンス (Instance on Points)」ノードの「スケール (Scale)」入力に接続します。
    • 「カラーランプ」のスライダーを調整することで、リングのサイズが上空ほど大きく、地上に近づくほど小さくなるように制御できます。
  7. 光線の先端を細くする:
    • Shift + A > 「カーブ (Curve)」>「カーブ半径設定 (Set Curve Radius)」ノードを追加し、「カーブリサンプル」と「ポイントにインスタンス」の間に配置します。
    • Shift + A > 「ユーティリティ (Utilities)」>「数値演算 (Math)」ノードを追加し、モードを「乗算 (Multiply)」に設定します。
    • スプラインパラメータ (Spline Parameter)」ノードの「係数 (Factor)」出力を、「数値演算 (Math)」ノードの「値1 (Value1)」入力に接続します。
    • 数値演算 (Math)」ノードの「結果 (Result)」出力を、「カーブ半径設定 (Set Curve Radius)」ノードの「半径 (Radius)」入力に接続します。
    • これにより、光線が上から下へ向かうにつれて、先端が細くなるように見せることができます。
  8. 雲のディテールを追加する:
    • Shift + A > 「ポイント (Points)」>「面にポイントを分配 (Distribute Points on Faces)」ノードを追加し、「ポイントにインスタンス」ノードの後に配置します。
    • Shift + A > 「インスタンス (Instances)」>「ポイントにインスタンス (Instance on Points)」ノードをもう一つ追加し、「面にポイントを分配」ノードの後に配置します。
    • Shift + A > 「メッシュプリミティブ (Mesh Primitive)」>「ICO球 (Icosphere)」ノードを追加します。
    • この「ICO球 (Icosphere)」ノードの「メッシュ (Mesh)」出力を、2つ目の「ポイントにインスタンス (Instance on Points)」ノードの「インスタンス (Instance)」入力に接続します。
    • ICO球 (Icosphere)」ノードの「半径 (Radius)」を「0.01」程度に、**細分化 (Subdivisions)**を「2」程度に設定します。
    • Shift + A > 「テクスチャ (Texture)」>「ノイズテクスチャ (Noise Texture)」ノードを追加します。
    • Shift + A > 「コンバーター (Converter)」>「カラーランプ (Color Ramp)」ノードを追加します。
    • Shift + A > 「ユーティリティ (Utilities)」>「数値演算 (Math)」ノードを追加し、モードを「乗算 (Multiply)」に設定します。
    • ノイズテクスチャ (Noise Texture)」ノードの「係数 (Factor)」出力を、「カラーランプ (Color Ramp)」ノードの「係数 (Factor)」入力に接続します。
    • カラーランプ (Color Ramp)」ノードの「カラー (Color)」出力を、「数値演算 (Math)」ノードの「値1 (Value1)」入力に接続します。
    • 数値演算 (Math)」ノードの「結果 (Result)」出力を、2つ目の「ポイントにインスタンス (Instance on Points)」ノードの「スケール (Scale)」入力に接続します。
    • これにより、リング状の雲の表面にランダムなサイズの球体が配置され、雲らしい不均一な見た目になります。
  9. 光線と雲にマテリアルを割り当てる:
    • マテリアル設定 (Set Material)」ノードを2つ追加します。一つは光線用、もう一つは雲用です。
    • 光線用の「マテリアル設定 (Set Material)」ノードを「カーブからメッシュ」ノードの後に配置し、爆発エフェクトで作成した発光マテリアル(または新しい発光マテリアル)を割り当てます。
    • 雲用の「マテリアル設定 (Set Material)」ノードを、雲のインスタンスを作成しているノードの後に配置し、新しい白いマテリアル(粗さを高め、透過を低めにしたもの)を割り当てます。

👉 「なるほど!」ポイント: ジオメトリーノードでは、カーブをベースに様々な形状を生成できます。「ポイントにインスタンス」で円を配置し、「カーブからメッシュ」で厚みを付けることで、光線とリング状の雲を作成しています。さらに「カーブをトリム」とキーフレームでアニメーションを制御し、「スプラインパラメータ」と「カーブ半径設定」でリングのサイズや光線の先端を調整することで、よりダイナミックな光線エフェクトを実現しています。


D. ビル群をジオメトリーノードで作成する

次に、破壊される対象となるビル群をジオメトリーノードで自動生成します。ランダムな高さと幅のビルを効率的に配置します。

  1. 新しいジオメトリーノードツリーを作成する:
    • 3Dビューポートで Shift + A > 「メッシュ (Mesh)」>「平面 (Plane)」を追加します。
    • この平面を選択した状態で、プロパティエディターの「モディファイアープロパティ (Modifier Properties)」(スパナのアイコン)タブを開き、「モディファイアーを追加 (Add Modifier)」>「ジオメトリーノード (Geometry Nodes)」を選択します。
    • 新規 (New)」ボタンをクリックして新しいジオメトリーノードツリーを作成します。
    • グループ入力 (Group Input)」ノードは削除します。
  2. グリッド上にビルを配置する:
    • Shift + A > 「メッシュプリミティブ (Mesh Primitive)」>「グリッド (Grid)」ノードを追加します。
    • グリッド (Grid)」ノードの「サイズX (Size X)」と「サイズY (Size Y)」を「20」程度に、**頂点X (Vertices X)頂点Y (Vertices Y)**を「20」程度に設定します。
    • Shift + A > 「ポイント (Points)」>「面にポイントを分配 (Distribute Points on Faces)」ノードを追加し、「グリッド」ノードの後に配置します。
    • Shift + A > 「インスタンス (Instances)」>「ポイントにインスタンス (Instance on Points)」ノードをもう一つ追加し、「面にポイントを分配」ノードの後に配置します。
    • Shift + A > 「メッシュプリミティブ (Mesh Primitive)」>「立方体 (Cube)」ノードを追加します。
    • この「立方体 (Cube)」ノードの「メッシュ (Mesh)」出力を、2つ目の「ポイントにインスタンス (Instance on Points)」ノードの「インスタンス (Instance)」入力に接続します。
    • 2つ目の「ポイントにインスタンス (Instance on Points)」ノードの出力を、「グループ出力 (Group Output)」ノードの「ジオメトリー (Geometry)」入力に接続します。
    • これにより、グリッド上に立方体がランダムに配置されます。
  3. ビルの高さを調整する:
    • Shift + A > 「ジオメトリー (Geometry)」>「ジオメトリー変換 (Transform Geometry)」ノードを追加し、「ポイントにインスタンス」と「グループ出力」の間に配置します。
    • Shift + A > 「入力 (Input)」>「値 (Value)」ノードを追加します。
    • Shift + A > 「ユーティリティ (Utilities)」>「数値演算 (Math)」ノードを追加し、モードを「乗算 (Multiply)」に設定します。
    • Shift + A > 「ベクトル (Vector)」>「XYZ合成 (Combine XYZ)」ノードを追加します。
    • 値 (Value)」ノードの出力を、「数値演算 (Math)」ノードの「値1 (Value1)」入力に接続します。
    • 数値演算 (Math)」ノードの「結果 (Result)」出力を、「XYZ合成 (Combine XYZ)」ノードの「Z」入力に接続します。
    • XYZ合成 (Combine XYZ)」ノードの出力を、「ジオメトリー変換 (Transform Geometry)」ノードの「平行移動 (Translation)」入力に接続します。
    • 立方体 (Cube)」ノードの「サイズ (Size)」の「Z」を「2」程度に設定し、ビルの高さを調整します。
    • 値 (Value)」ノードの値を「1」程度に設定することで、ビルが床を貫通しないように調整できます。
  4. ビルの高さと横幅をランダム化する:
    • Shift + A > 「ユーティリティ (Utilities)」>「ランダム値 (Random Value)」ノードを2つ追加します。
    • 一つ目の「ランダム値 (Random Value)」ノードの「タイプ (Type)」を「浮動小数点 (Float)」に設定し、「最小 (Min)」を「2」、「最大 (Max)」を「10」程度に設定します。この出力を「立方体 (Cube)」ノードの「サイズ (Size)」の「Z」入力に接続します。これにより、ビルの高さがランダムになります。
    • 二つ目の「ランダム値 (Random Value)」ノードの「タイプ (Type)」を「浮動小数点 (Float)」に設定し、「最小 (Min)」を「0.5」、「最大 (Max)」を「1.5」程度に設定します。この出力を「立方体 (Cube)」ノードの「サイズ (Size)」の「X」と「Y」入力に接続します。これにより、ビルの横幅がランダムになります。
  5. マテリアルを割り当てる:
    • マテリアル設定 (Set Material)」ノードを追加し、「ジオメトリー変換」ノードの後に配置します。
    • 新しいマテリアルを作成し、ビルに割り当てます。ここでは、シンプルなグレー系のマテリアルでOKです。

👉 「なるほど!」ポイント:面にポイントを分配」と「ポイントにインスタンス」を組み合わせることで、グリッド上にランダムな位置にビルを配置できます。さらに「ランダム値」ノードを使うことで、それぞれのビルの高さや横幅を個別にランダム化し、リアルな都市の景観を簡単に作り出せるのがジオメトリーノードの強みです。


E. 破壊のアニメーションを作成する

いよいよ、このチュートリアルのクライマックス!光線が当たるとビルが破壊され、瓦礫が舞い上がるアニメーションを作成します。これは非常に高度なテクニックですが、ステップバイステップで解説します。

  1. 瓦礫のオブジェクトを準備する(Cell Fractureアドオン):
    • まず、破壊される元のビル(立方体)を準備します。3Dビューポートで Shift + A > 「メッシュ (Mesh)」>「立方体 (Cube)」を追加します。
    • Blenderの「編集 (Edit)」メニュー>「プリファレンス (Preferences)」>「アドオン (Add-ons)」で「Cell Fracture」を検索し、チェックを入れて有効にします。
    • 立方体を選択した状態で、3Dビューポートの「オブジェクト (Object)」メニュー>「クイックエフェクト (Quick Effects)」>「Cell Fracture」を選択します。
    • 設定ウィンドウで「ソース (Source)」を「パーティクル (Particles)」に、「パーティクル数 (Number of Particles)」を「50」程度に設定し、「OK」をクリックします。
    • これにより、元の立方体が複数の瓦礫に分割されます。これらの瓦礫を全て選択し、M キーを押して新しいコレクション(例:「Debris_Collection」)にまとめます。元の立方体は削除して構いません。
  2. ビル群のジオメトリーノードに瓦礫を配置する:
    • ビル群を作成したジオメトリーノードツリーに戻ります。
    • Shift + A > 「インスタンス (Instances)」>「ポイントにインスタンス (Instance on Points)」ノードをもう一つ追加し、既存の「ポイントにインスタンス」(ビルを配置しているもの)の後に配置します。
    • Shift + A > 「入力 (Input)」>「コレクション情報 (Collection Info)」ノードを追加します。
    • コレクション情報 (Collection Info)」ノードの「コレクション (Collection)」入力に、先ほど作成した「Debris_Collection」を選択します。
    • コレクション情報 (Collection Info)」ノードの「ジオメトリー (Geometry)」出力を、新しく追加した「ポイントにインスタンス (Instance on Points)」ノードの「インスタンス (Instance)」入力に接続します。
    • ポイントにインスタンス (Instance on Points)」ノードの「インスタンスをピック (Pick Instance)」と「コレクション全体 (Whole Collection)」にチェックを入れます。
    • これにより、ビル群の各ポイントに瓦礫のインスタンスが配置されます。
  3. プロキシミティで瓦礫の表示を制御する:
    • Shift + A > 「ジオメトリー (Geometry)」>「ジオメトリー近接 (Geometry Proximity)」ノードを追加します。
    • Shift + A > 「入力 (Input)」>「オブジェクト情報 (Object Info)」ノードを追加します。
    • オブジェクト情報 (Object Info)」ノードの「オブジェクト (Object)」入力に、爆発エフェクトで作成したUV球(光線が着弾する場所)を選択します。
    • オブジェクト情報 (Object Info)」ノードの「ジオメトリー (Geometry)」出力を、「ジオメトリー近接 (Geometry Proximity)」ノードの「ターゲット (Target)」入力に接続します。
    • Shift + A > 「コンバーター (Converter)」>「範囲マッピング (Map Range)」ノードを追加します。
    • ジオメトリー近接 (Geometry Proximity)」ノードの「距離 (Distance)」出力を、「範囲マッピング (Map Range)」ノードの「値 (Value)」入力に接続します。
    • 範囲マッピング (Map Range)」ノードの「へ最小 (To Min)」を「0」、「へ最大 (To Max)」を「1」に設定し、「から最小 (From Min)」と「から最大 (From Max)」を調整して、UV球が近づくにつれて瓦礫が表示されるようにします。
    • 範囲マッピング (Map Range)」ノードの出力を、瓦礫を配置している「ポイントにインスタンス (Instance on Points)」ノードの「スケール (Scale)」入力に接続します。
  4. 瓦礫が舞い上がる動きを作成する:
    • Shift + A > 「ジオメトリー (Geometry)」>「位置設定 (Set Position)」ノードを追加し、瓦礫のインスタンスを配置している「ポイントにインスタンス」ノードの後に配置します。
    • Shift + A > 「ベクトル (Vector)」>「XYZ合成 (Combine XYZ)」ノードを追加します。
    • Shift + A > 「コンバーター (Converter)」>「範囲マッピング (Map Range)」ノードをもう一つ追加します。
    • 先ほど瓦礫のスケールを制御した「範囲マッピング (Map Range)」ノードの出力を、この新しい「範囲マッピング (Map Range)」ノードの「値 (Value)」入力に接続します。
    • 新しい「範囲マッピング (Map Range)」ノードの「へ最小 (To Min)」を「0」、「へ最大 (To Max)」を「2」程度に設定します。
    • この新しい「範囲マッピング (Map Range)」ノードの出力を、「XYZ合成 (Combine XYZ)」ノードの「Z」入力に接続します。
    • XYZ合成 (Combine XYZ)」ノードの出力を、「位置設定 (Set Position)」ノードの「オフセット (Offset)」入力に接続します。
    • これにより、UV球が近づくと瓦礫がZ軸方向に舞い上がるように見えます。
  5. ビルが消えるアニメーションを作成する:
    • Shift + A > 「ジオメトリー (Geometry)」>「ジオメトリーを削除 (Delete Geometry)」ノードを追加し、ビルを配置している「ポイントにインスタンス」ノードの後に配置します。
    • 瓦礫の表示を制御した「範囲マッピング (Map Range)」ノードの出力を、「ジオメトリーを削除 (Delete Geometry)」ノードの「選択 (Selection)」入力に接続します。
    • 範囲マッピング (Map Range)」ノードの「へ最小 (To Min)」と「へ最大 (To Max)」を調整し、UV球が近づくにつれてビルが消えるように設定します。
  6. インスタンス実体化ノードを追加する:
    • 瓦礫を配置している「ポイントにインスタンス」ノードの後に、「インスタンス (Instances)」>「インスタンス実体化 (Realize Instances)」ノードを追加します。
    • ビルを配置している「ポイントにインスタンス」ノードの後に、「インスタンス実体化 (Realize Instances)」ノードをもう一つ追加します。
    • これにより、インスタンスが実際のメッシュに変換され、破壊アニメーションやマテリアルが正しく適用されるようになります。
  7. 床部分を破壊アニメーションから除外する:
    • ビル群のジオメトリーノードツリーの最初に接続されていた「グループ入力 (Group Input)」(削除したノード)の代わりに、「グリッド (Grid)」ノードから直接「グループ出力 (Group Output)」ノードの「ジオメトリー (Geometry)」入力に接続し直します。
    • これにより、床部分(グリッド)は破壊されずに残り、その上にビルと瓦礫のアニメーションが展開されます。

👉 「なるほど!」ポイント:Cell Fracture」アドオンで作成した瓦礫を「コレクション情報」ノードでジオメトリーノードに取り込み、「ジオメトリー近接」ノードを使って、特定のオブジェクト(UV球)との距離に基づいて瓦礫の表示/非表示やスケール、位置を制御しています。これにより、光線が近づくとビルが消え、瓦礫が舞い上がるという複雑な破壊アニメーションを、ノードだけで実現しています。


F. マテリアルとライティングの最終調整

最後に、作成したオブジェクトに適切なマテリアルを割り当て、シーン全体をドラマチックにライティングして、高品質な最終レンダーを目指しましょう。

  1. 瓦礫のマテリアルを設定する:
    • プロパティエディターの「マテリアルプロパティ (Material Properties)」タブを開き、新しいマテリアルを作成します。名前を「Debris_Material」など分かりやすいものに変更します。
    • シェーダーエディターでこのマテリアルを選択し、ベースカラーを暗いグレーや茶色に設定し、**粗さ (Roughness)**を「1」に近づけて光沢がないようにします。
    • ジオメトリーノード内で、瓦礫を配置している「インスタンス実体化 (Realize Instances)」ノードの後に、「マテリアル設定 (Set Material)」ノードを追加し、この「Debris_Material」を割り当てます。
  2. ビルにも瓦礫のマテリアルを適用する:
    • ビルを配置している「インスタンス実体化 (Realize Instances)」ノードの後に、「マテリアル設定 (Set Material)」ノードを追加し、先ほど作成した「Debris_Material」を割り当てます。
    • これにより、破壊前と破壊後のビルが同じ質感で表現されます。
  3. ポイントライトで爆発の光を強調する:
    • 3Dビューポートで Shift + A > 「ライト (Light)」>「ポイント (Point)」を追加します。
    • このポイントライトを、爆発エフェクトのUV球の中心に配置します。
    • プロパティエディターの「ライトプロパティ (Light Properties)」(緑の電球アイコン)タブを開き、「パワー (Power)」を「10000W」程度に、**半径 (Radius)**を「1m」程度に設定し、**色 (Color)**を爆発エフェクトと同じオレンジ系の色に設定します。
    • このポイントライトは、UV球のアニメーションに合わせて移動するように、UV球のペアレント(親子関係)に設定すると良いでしょう。
  4. シーン全体のライティングとカメラの設定:
    • 必要であれば、エリアライトなどを追加し、シーン全体を照らします。ドラマチックな影を作ることで、迫力が増します。
    • Shift + A > 「カメラ (Camera)」を追加します。
    • カメラを適切な位置に移動し、Ctrl + Alt + Numpad 0 でカメラビューに切り替えます。
    • カメラを選択した状態で、プロパティエディターの「オブジェクトデータプロパティ (Object Data Properties)」(緑のカメラアイコン)から「焦点距離 (Focal Length)」などを調整して、最適な画角を決めましょう。
  5. 最終調整とレンダー:
    • タイムラインを再生しながら、各ノードのパラメータ(特に破壊アニメーションの範囲マッピングの値や、瓦礫の舞い上がる高さなど)を微調整し、アニメーションの動きや見た目が理想的になるまで調整してみましょう。
    • 最終的なアニメーションをエクスポートするには、プロパティエディターの「出力プロパティ (Output Properties)」(プリンターのアイコン)で「解像度 (Resolution)」や「フレーム範囲 (Frame Range)」、「出力 (Output)」パス、ファイル形式 (File Format)(例:FFmpegビデオ、コンテナはMPEG-4)などを設定し、「レンダー (Render)」>「アニメーションをレンダー (Render Animation)」を選択します。

ここまでのジオメトリノードを使って仕上げたアニメーションを載せています。

初心者がこれを理解するのは難解だと思いますが、「こんな事ができるんだあ」が知る事が大事だと思います。
アニメーションの作り方は、同じく「あかりさんノ-ト」で説明しています・・初心者でも理解できる説明だ
と思います。私も3年間、色々とBlenderの解説動画を見てきましたけど・・これ程上手く説明しているのを探すのは困難な中、素晴らしい解説だと勉強になりました。

まとめ:ジオメトリーノードであなたのクリエイティブな世界を爆発させよう!

お疲れ様でした!これで、Blenderジオメトリーノードを使った、光線が落ちてきて建物が破壊される迫力満点のアニメーションが完成しました。

今回は、特に以下の高度なテクニックを学びましたね!

  • 発光エフェクトとコンポジット: リアルな光の表現と後処理。
  • カーブとインスタンス: 光線とリング状の雲の生成とアニメーション。
  • ランダムなビル生成: ジオメトリーノードで効率的な都市景観の作成。
  • Cell Fractureアドオン: 物理的な破壊表現のための瓦礫生成。
  • ジオメトリー近接: オブジェクトの距離に基づいた破壊アニメーションの制御
  • 瓦礫の舞い上がりとビルの消失: 複雑な破壊の動きをノードで表現。
  • インスタンス実体化: インスタンスをメッシュに変換し、物理演算やマテリアルを正確に適用。
  • ドラマチックなライティング: シーンの雰囲気を最大限に引き出す。

この作例は、Blenderジオメトリーノードの応用として非常に優れており、SNSで注目される3Dアニメーションを作成するための強力なヒントになります。ここから、ぜひあなた自身のアイデアで、様々なノードを試して、Blenderジオメトリーノードの奥深い世界を楽しんでみてくださいね!