Skip to content

20240625_notes

Takanobu INAFUKU edited this page Jul 8, 2024 · 4 revisions

第11回 動きから形態をつくる - 物理シミュレーションの応用 : Blender 2

サンプルファイル

https://github.com/h4us/maebashi-it-architectual-informatics-I/releases/download/20240625/demo_20240625.blend

サンプルファイルは下記3つのシーンで構成されています。基本的に前回講義で取り扱った物理シミュレーションを実行するシーンを拡張したものです。

  • 01_Pendulum シーン
  • 02_Physics_Basics シーン
  • 03_Physics_Basics_w_Force シーン
    • Force Field: Wind
    • Force Field: Vortex

01_Pendulum

fig_v1

第10回で取り上げた二重振り子のシミュレーションを行うGeometry Nodesを応用し、各振り子のジョイント部分の軌跡をY軸方向に少しずつずらすことで、複雑に捻じれたワイヤー状の構造物を生成するデモです。

今回は振り子のジョイント部分の情報のみが必要なので、Pendulum(.001) のノードツリー内では、後半の Realize ノードグループはミュートしてあります。

fig1

形状生成側のノードツリー(Trails オブジェクト)では、Object Info ノードと Sample Index ノードを利用して、Pendulum(.001) ノードツリーの頂点情報を取得しこちらのノードツリー内で生成した Points を同期させて動かすと同時に Scene Time ノードを利用して1フレームごとにY軸方向にずらすように変更しています。

これらを Simulation Zone 内で Join Geometry ノードに繰り返し通すことで、二重振り子の軌跡としての形状を生成しています。

fig2

02_Physics_Basics

fig_v2

同じく第10回で取り上げた、Blenderで(Geometry Nodesを使わなくても)扱える物理シミュレーション機能のうち、布(Cloth)のシミュレーションを応用して、落下・衝突時の布の変形の軌跡を形状化するデモです。

PropertiesPhysics 内のパラメーターを変更し布の物理特性を変えることで、最終的に生成される形状も変化させることができます。

fig3

形状生成側のノードツリー(Trails_Cloths_test オブジェクト)では、01_Pendulum とほぼ同じ手法で形状を生成しています・

03_Physics_Basics_w_Force

ひとつ前の、Clothのシミュレーションのバリエーションです。

Force Field を利用することで落下挙動へのエフェクトをかけれるようにし、同時に形状生成にワイヤー状のもの以外も指定できるような設定を追加してあります。

fig_v3-1 fig_v3-2

PropertiesPhysics から、 02_Physics_Basics 同様布の物理特性に加えて、個別に配置した Force FieldWindVortex)の設定も変更可能です。

fig4

形状生成側のノードツリー(Trails_Cloths_test(.001) オブジェクト)は、02_Physics_Basics と同様ほぼ同じ手法で踏襲していますが、前段と後段に形状生成に利用する頂点の選択オプションと、得られた頂点をどのように接続して形状化するかのオプションを追加してあります。

下は、落下するClothオブジェクトの四隅の頂点のみを選択するための quad_selection_index ノードグループの中身です(同様に、quad_selection_ID ノードグループの中身も構成は同じです)。

fig5

ごく単純に、入力された Index もしくは ID のフィールドを、Compare ノードでの比較と Boolean Math ノードによるOR演算の組み合わせでフィルタリングしています。

後段では Index Switch ノードを使って、形状生成に使うノードの組み合わせを切り替えられるようにしてあります。

Blenderで有限要素(構造)解析を行えるアドオン

https://github.com/bewegende-Architektur/Phaenotyp