💥 SNSで話題沸騰!Blenderジオメトリーノードで迫力の破壊アニメーションを再現!
このチュートリアルは、あかりノートさんの素晴らしいYouTube動画を参考に作成しました。あかりノートさんの詳細かつ分かりやすい解説に深く感謝いたします。
もし、このアニメーションの作成プロセスを動画で直接確認したい場合は、以下のリンクからあかりノートさんの元の動画をご覧ください:
「Blenderのジオメトリーノード (Geometry Nodes)って、こんなすごい破壊アニメーションが作れるの!?」 「まるで映画のワンシーンみたい!でも、どうやって作るんだろう…」 「SNSでよく見る、あの光線が落ちてきて建物が崩れるエフェクト、自分でも作ってみたい!」
もしあなたがそう感じているなら、この記事はまさにうってつけです!ジオメトリーノードは、ノード(箱)を線でつなぐだけで、驚くほど複雑でリアルな3Dエフェクトやアニメーションを作り出せる、Blenderの強力な機能です。
今回は、Blenderジオメトリーノードを使った、光線が落ちてきて建物が破壊される迫力満点のアニメーションの作り方を、動画の手順に沿ってステップバイステップで徹底解説します。
この記事を読み終える頃には、あなたもジオメトリーノードの応用テクニックをマスターし、SNSで注目されるようなオリジナルの3Dアニメーションを作成できるようになるでしょう!
この記事で学べること:
- 発光する爆発エフェクトの作成とコンポジット設定
- ジオメトリーノードで光線とリング状の雲を生成しアニメーションさせる方法
- ランダムなビル群を簡単に作成するテクニック
- プロキシミティ(近接)機能を使った破壊アニメーションの制御
- 瓦礫が舞い上がる動きと、ビルが消える演出
- リアルなマテリアルとドラマチックなライティング設定
難しい専門知識は不要!一緒に手を動かしながら、Blenderジオメトリーノードの無限の可能性を体験してみましょう!
A. 準備:Blenderを起動してレンダー設定を行う
まずは、Blenderを起動し、今回の複雑なアニメーション作成に適したレンダー環境を整えましょう。
- Blenderを起動する:
- Blenderを立ち上げます。初期表示されている「立方体」は使用しませんので、選択して
Delete
キーで削除しておきましょう。
- Blenderを立ち上げます。初期表示されている「立方体」は使用しませんので、選択して
- カラーマネジメントの設定:
- プロパティエディターの「レンダープロパティ (Render Properties)」タブ内にある「カラーマネジメント (Color Management)」セクションを展開します。
- 「ビュー変換 (View Transform)」を「スタンダード (Standard)」に変更します。これにより、色の鮮やかさが向上し、発光表現がより美しくなります。
B. 爆発エフェクト(半球状の光)を作成する
まずは、地面に光線が着弾した際に発生する、半球状の爆発エフェクトを作成します。
- UV球を追加し、滑らかにする:
- 3Dビューポートで
Shift + A
> 「メッシュ (Mesh)」>「UV球 (UV Sphere)」を追加します。 - UV球を右クリックし、「スムーズシェード (Shade Smooth)」を選択して、表面を滑らかにします。
- 3Dビューポートで
- 発光マテリアルを設定する:
- 画面上部のワークスペースタブから「シェーディング (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)」入力に接続します。
- コンポジターでグレア(ブルーム)を追加する:
- 画面上部のワークスペースタブから「コンポジティング (Compositing)」ワークスペースに切り替えます。
- 「ノードを使用 (Use Nodes)」にチェックを入れます。
- 「レンダーレイヤー (Render Layers)」ノードと「コンポジット (Composite)」ノードの間に、「フィルター (Filter)」>「グレア (Glare)」ノードを追加します。
- 「グレア (Glare)」ノードの「タイプ (Type)」を「Fog Glow」に設定し、「サイズ (Size)」や「しきい値 (Threshold)」を調整して、発光が強調されるようにします。
👉 「なるほど!」ポイント: この爆発エフェクトは、ジオメトリーノードを使わずに、発光するマテリアルとコンポジターでのグレア効果を組み合わせることで、リアルな光の表現を作り出しています。特に「レイヤーウェイト」と「カラーランプ」を使うことで、中心から外側へのグラデーションを簡単に表現できるのがポイントです。
C. 光線とリング状の雲をジオメトリーノードで作成する
次に、空から落ちてくる光線と、それに伴って発生するリング状の雲をジオメトリーノードで作成します。
- 新しいジオメトリーノードツリーを作成する:
- 3Dビューポートで
Shift + A
> 「メッシュ (Mesh)」>「平面 (Plane)」を追加します。 - この平面を選択した状態で、プロパティエディターの「モディファイアープロパティ (Modifier Properties)」(スパナのアイコン)タブを開き、「モディファイアーを追加 (Add Modifier)」>「ジオメトリーノード (Geometry Nodes)」を選択します。
- 「新規 (New)」ボタンをクリックして新しいジオメトリーノードツリーを作成します。
- 「グループ入力 (Group Input)」ノードは削除します。
- 3Dビューポートで
- 光線のベースを作成する:
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」程度に設定し、直線を細かく分割します。
- リング状の雲をインスタンスで配置する:
Shift + A
> 「インスタンス (Instances)」>「ポイントにインスタンス (Instance on Points)」ノードを追加し、「カーブリサンプル」と「グループ出力」の間に配置します。Shift + A
> 「カーブプリミティブ (Curve Primitive)」>「カーブサークル (Curve Circle)」ノードを追加します。- この「カーブサークル (Curve Circle)」ノードの「カーブ (Curve)」出力を、「ポイントにインスタンス (Instance on Points)」ノードの「インスタンス (Instance)」入力に接続します。
- これにより、直線上に複数の円が配置されます。
- 光線と雲に厚みを付ける:
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
」程度に設定し、光線とリングに細い厚みを付けます。
- 光線とリングの表示範囲をアニメーションで制御する:
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)」入力にもキーフレームを打つことで、光線の長さやリングの数を制御できます。
- リングのサイズを上空ほど大きくする:
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)」入力に接続します。
- 「カラーランプ」のスライダーを調整することで、リングのサイズが上空ほど大きく、地上に近づくほど小さくなるように制御できます。
- 光線の先端を細くする:
Shift + A
> 「カーブ (Curve)」>「カーブ半径設定 (Set Curve Radius)」ノードを追加し、「カーブリサンプル」と「ポイントにインスタンス」の間に配置します。Shift + A
> 「ユーティリティ (Utilities)」>「数値演算 (Math)」ノードを追加し、モードを「乗算 (Multiply)」に設定します。- 「スプラインパラメータ (Spline Parameter)」ノードの「係数 (Factor)」出力を、「数値演算 (Math)」ノードの「値1 (Value1)」入力に接続します。
- 「数値演算 (Math)」ノードの「結果 (Result)」出力を、「カーブ半径設定 (Set Curve Radius)」ノードの「半径 (Radius)」入力に接続します。
- これにより、光線が上から下へ向かうにつれて、先端が細くなるように見せることができます。
- 雲のディテールを追加する:
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)」入力に接続します。
- これにより、リング状の雲の表面にランダムなサイズの球体が配置され、雲らしい不均一な見た目になります。
- 光線と雲にマテリアルを割り当てる:
- 「マテリアル設定 (Set Material)」ノードを2つ追加します。一つは光線用、もう一つは雲用です。
- 光線用の「マテリアル設定 (Set Material)」ノードを「カーブからメッシュ」ノードの後に配置し、爆発エフェクトで作成した発光マテリアル(または新しい発光マテリアル)を割り当てます。
- 雲用の「マテリアル設定 (Set Material)」ノードを、雲のインスタンスを作成しているノードの後に配置し、新しい白いマテリアル(粗さを高め、透過を低めにしたもの)を割り当てます。


👉 「なるほど!」ポイント: ジオメトリーノードでは、カーブをベースに様々な形状を生成できます。「ポイントにインスタンス」で円を配置し、「カーブからメッシュ」で厚みを付けることで、光線とリング状の雲を作成しています。さらに「カーブをトリム」とキーフレームでアニメーションを制御し、「スプラインパラメータ」と「カーブ半径設定」でリングのサイズや光線の先端を調整することで、よりダイナミックな光線エフェクトを実現しています。
D. ビル群をジオメトリーノードで作成する
次に、破壊される対象となるビル群をジオメトリーノードで自動生成します。ランダムな高さと幅のビルを効率的に配置します。
- 新しいジオメトリーノードツリーを作成する:
- 3Dビューポートで
Shift + A
> 「メッシュ (Mesh)」>「平面 (Plane)」を追加します。 - この平面を選択した状態で、プロパティエディターの「モディファイアープロパティ (Modifier Properties)」(スパナのアイコン)タブを開き、「モディファイアーを追加 (Add Modifier)」>「ジオメトリーノード (Geometry Nodes)」を選択します。
- 「新規 (New)」ボタンをクリックして新しいジオメトリーノードツリーを作成します。
- 「グループ入力 (Group Input)」ノードは削除します。
- 3Dビューポートで
- グリッド上にビルを配置する:
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)」入力に接続します。
- これにより、グリッド上に立方体がランダムに配置されます。
- ビルの高さを調整する:
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
」程度に設定することで、ビルが床を貫通しないように調整できます。
- ビルの高さと横幅をランダム化する:
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」入力に接続します。これにより、ビルの横幅がランダムになります。
- マテリアルを割り当てる:
- 「マテリアル設定 (Set Material)」ノードを追加し、「ジオメトリー変換」ノードの後に配置します。
- 新しいマテリアルを作成し、ビルに割り当てます。ここでは、シンプルなグレー系のマテリアルでOKです。
👉 「なるほど!」ポイント: 「面にポイントを分配」と「ポイントにインスタンス」を組み合わせることで、グリッド上にランダムな位置にビルを配置できます。さらに「ランダム値」ノードを使うことで、それぞれのビルの高さや横幅を個別にランダム化し、リアルな都市の景観を簡単に作り出せるのがジオメトリーノードの強みです。
E. 破壊のアニメーションを作成する
いよいよ、このチュートリアルのクライマックス!光線が当たるとビルが破壊され、瓦礫が舞い上がるアニメーションを作成します。これは非常に高度なテクニックですが、ステップバイステップで解説します。
- 瓦礫のオブジェクトを準備する(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」)にまとめます。元の立方体は削除して構いません。
- まず、破壊される元のビル(立方体)を準備します。3Dビューポートで
- ビル群のジオメトリーノードに瓦礫を配置する:
- ビル群を作成したジオメトリーノードツリーに戻ります。
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)」にチェックを入れます。
- これにより、ビル群の各ポイントに瓦礫のインスタンスが配置されます。
- プロキシミティで瓦礫の表示を制御する:
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)」入力に接続します。
- 瓦礫が舞い上がる動きを作成する:
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軸方向に舞い上がるように見えます。
- ビルが消えるアニメーションを作成する:
Shift + A
> 「ジオメトリー (Geometry)」>「ジオメトリーを削除 (Delete Geometry)」ノードを追加し、ビルを配置している「ポイントにインスタンス」ノードの後に配置します。- 瓦礫の表示を制御した「範囲マッピング (Map Range)」ノードの出力を、「ジオメトリーを削除 (Delete Geometry)」ノードの「選択 (Selection)」入力に接続します。
- 「範囲マッピング (Map Range)」ノードの「へ最小 (To Min)」と「へ最大 (To Max)」を調整し、UV球が近づくにつれてビルが消えるように設定します。
- インスタンス実体化ノードを追加する:
- 瓦礫を配置している「ポイントにインスタンス」ノードの後に、「インスタンス (Instances)」>「インスタンス実体化 (Realize Instances)」ノードを追加します。
- ビルを配置している「ポイントにインスタンス」ノードの後に、「インスタンス実体化 (Realize Instances)」ノードをもう一つ追加します。
- これにより、インスタンスが実際のメッシュに変換され、破壊アニメーションやマテリアルが正しく適用されるようになります。
- 床部分を破壊アニメーションから除外する:
- ビル群のジオメトリーノードツリーの最初に接続されていた「グループ入力 (Group Input)」(削除したノード)の代わりに、「グリッド (Grid)」ノードから直接「グループ出力 (Group Output)」ノードの「ジオメトリー (Geometry)」入力に接続し直します。
- これにより、床部分(グリッド)は破壊されずに残り、その上にビルと瓦礫のアニメーションが展開されます。
👉 「なるほど!」ポイント: 「Cell Fracture」アドオンで作成した瓦礫を「コレクション情報」ノードでジオメトリーノードに取り込み、「ジオメトリー近接」ノードを使って、特定のオブジェクト(UV球)との距離に基づいて瓦礫の表示/非表示やスケール、位置を制御しています。これにより、光線が近づくとビルが消え、瓦礫が舞い上がるという複雑な破壊アニメーションを、ノードだけで実現しています。
F. マテリアルとライティングの最終調整
最後に、作成したオブジェクトに適切なマテリアルを割り当て、シーン全体をドラマチックにライティングして、高品質な最終レンダーを目指しましょう。
- 瓦礫のマテリアルを設定する:
- プロパティエディターの「マテリアルプロパティ (Material Properties)」タブを開き、新しいマテリアルを作成します。名前を「Debris_Material」など分かりやすいものに変更します。
- シェーダーエディターでこのマテリアルを選択し、ベースカラーを暗いグレーや茶色に設定し、**粗さ (Roughness)**を「
1
」に近づけて光沢がないようにします。 - ジオメトリーノード内で、瓦礫を配置している「インスタンス実体化 (Realize Instances)」ノードの後に、「マテリアル設定 (Set Material)」ノードを追加し、この「Debris_Material」を割り当てます。
- ビルにも瓦礫のマテリアルを適用する:
- ビルを配置している「インスタンス実体化 (Realize Instances)」ノードの後に、「マテリアル設定 (Set Material)」ノードを追加し、先ほど作成した「Debris_Material」を割り当てます。
- これにより、破壊前と破壊後のビルが同じ質感で表現されます。
- ポイントライトで爆発の光を強調する:
- 3Dビューポートで
Shift + A
> 「ライト (Light)」>「ポイント (Point)」を追加します。 - このポイントライトを、爆発エフェクトのUV球の中心に配置します。
- プロパティエディターの「ライトプロパティ (Light Properties)」(緑の電球アイコン)タブを開き、「パワー (Power)」を「
10000W
」程度に、**半径 (Radius)**を「1m
」程度に設定し、**色 (Color)**を爆発エフェクトと同じオレンジ系の色に設定します。 - このポイントライトは、UV球のアニメーションに合わせて移動するように、UV球のペアレント(親子関係)に設定すると良いでしょう。
- 3Dビューポートで
- シーン全体のライティングとカメラの設定:
- 必要であれば、エリアライトなどを追加し、シーン全体を照らします。ドラマチックな影を作ることで、迫力が増します。
Shift + A
> 「カメラ (Camera)」を追加します。- カメラを適切な位置に移動し、
Ctrl + Alt + Numpad 0
でカメラビューに切り替えます。 - カメラを選択した状態で、プロパティエディターの「オブジェクトデータプロパティ (Object Data Properties)」(緑のカメラアイコン)から「焦点距離 (Focal Length)」などを調整して、最適な画角を決めましょう。
- 最終調整とレンダー:
- タイムラインを再生しながら、各ノードのパラメータ(特に破壊アニメーションの範囲マッピングの値や、瓦礫の舞い上がる高さなど)を微調整し、アニメーションの動きや見た目が理想的になるまで調整してみましょう。
- 最終的なアニメーションをエクスポートするには、プロパティエディターの「出力プロパティ (Output Properties)」(プリンターのアイコン)で「解像度 (Resolution)」や「フレーム範囲 (Frame Range)」、「出力 (Output)」パス、ファイル形式 (File Format)(例:FFmpegビデオ、コンテナはMPEG-4)などを設定し、「レンダー (Render)」>「アニメーションをレンダー (Render Animation)」を選択します。
ここまでのジオメトリノードを使って仕上げたアニメーションを載せています。
初心者がこれを理解するのは難解だと思いますが、「こんな事ができるんだあ」が知る事が大事だと思います。
アニメーションの作り方は、同じく「あかりさんノ-ト」で説明しています・・初心者でも理解できる説明だと思います。私も3年間、色々とBlenderの解説動画を見てきましたけど・・これ程上手く説明しているのを探すのは困難な中、素晴らしい解説だと勉強になりました。
まとめ:ジオメトリーノードであなたのクリエイティブな世界を爆発させよう!
お疲れ様でした!これで、Blenderジオメトリーノードを使った、光線が落ちてきて建物が破壊される迫力満点のアニメーションが完成しました。
今回は、特に以下の高度なテクニックを学びましたね!
- 発光エフェクトとコンポジット: リアルな光の表現と後処理。
- カーブとインスタンス: 光線とリング状の雲の生成とアニメーション。
- ランダムなビル生成: ジオメトリーノードで効率的な都市景観の作成。
- Cell Fractureアドオン: 物理的な破壊表現のための瓦礫生成。
- ジオメトリー近接: オブジェクトの距離に基づいた破壊アニメーションの制御。
- 瓦礫の舞い上がりとビルの消失: 複雑な破壊の動きをノードで表現。
- インスタンス実体化: インスタンスをメッシュに変換し、物理演算やマテリアルを正確に適用。
- ドラマチックなライティング: シーンの雰囲気を最大限に引き出す。
この作例は、Blenderジオメトリーノードの応用として非常に優れており、SNSで注目される3Dアニメーションを作成するための強力なヒントになります。ここから、ぜひあなた自身のアイデアで、様々なノードを試して、Blenderジオメトリーノードの奥深い世界を楽しんでみてくださいね!