発振現象の応用1 「映像の相転移2」

発振

2025.06.16のblog「プロシージャルの補足・・・」の後半に、blenderにおいて、アーマチュアを使って対象を大地の上を動かす例を挙げました。この際、ボーンと大地の間にはシュリンククラップという沈み込みを防ぐポーンコンストレインとを適用しました。そしてまた、ボーンと大地との間にウエイトを適用しました。すると、ボーンが大地の凸凹に応じて傾くと、ウエイトで関係づけた大地が大きく変形することを示しました。さらに、2025.07.12のblog「非線形動画+α」の後半で、シュリンクラップを適用し、ボーンの直下の大地を少し持ち上げ、かつその部分にウエイトを付けると、シュリンクラップとウエイトとの非線形の相互作用により、対象が上下に振動する発振現象が生じることを発見しました。驚きでした。今回のblogはこれの続きです。「非線形動画+α」では発振現象こそ発見しましたが、どう活用してよいものか思いつかなかったのです。今回ようやく応用のためのヒントを得たので紹介致します。

発振現象の応用

blenderで作製した発振現象であるボーンの上下運動を、別のオブジェクトの運動に利用しました。blenderによるアニメーションをfbxにして、Touchdesignerに渡し、オブジェクトを静止した状態では石に見えるようにし、次第にオブジェクトが筋肉的な映像に変化するようにしました。筋肉に変化した時、blenderで作製した際のウエイトを反映して、ドックンドックンと筋肉の様に動かしました。言わば、石から筋肉への相転移の例です。まず動画を見ていただき、それから説明していくことに致します。

最初青い石だったのが、次第に赤くなり、ドックンドックンと動きだします。そしてまた次第に青い石に戻ります。石が筋肉に転移する映像になっています。筋肉に転移した時、blenderでの発振現象をオブジェクトの動きに利用しています。それでは最初のblenderでの動作から説明していきます。

発振周波数は立方体が乗ってる基板の回転によっても変化しますが、主に高さ方向の位置によってコントロールできます。発振周波数を変えれるのは魅力です。
このblenderによるアニメーションをfbxでファイル出力し、それを元にTouchdesigerで作製したのが最初の映像です。まずblenderの映像を説明するために各部に名前をつけました。それが次の画像です。

発振して上下に動く立方体は2個ありますが、右側の図で説明致します。左側も右側と同じです。台座は大地を少しだけアップした部分です。この台座部分に立方体が乗っています。立方体はボーン2に対してウエイト1で全体に重みを付けています。ボーン1はコントロールボーンでボーン2にはIK(インバースキネマティクス)が掛かっています。台座1にはボーン1に対するシュリンククラップを掛けています。4つのボーンの動きによってオブジェクトを動かします。このため、4つのボーンそれぞれがオブジェクトに対して重みを掛けています。それでは重みの関係について説明いたします。

上の図はボーンの台座への重みを示しています。大地1に対しての図ですが、大地2に対しても同様です。(a)のようにボーン1は台座1に対して重みを付けています。ボーン1は台座1に対してシュリンククラップを掛けていますが、ボーン2に対してはシュリンククラップを掛けていません。このため初期状態では、ボーン1は台座に沈みこまず、ボーン2は台座に沈みこむことが許されます。このため立方体1は斜めになります。傾きを作ることは発振現象を生じさせるために必要です。(b)図はボーン2に対する重みですがこれは掛けていません。(c)は相互作用になる重みです。ボーン3が台座1に対する重みを表しています。ボーン1の台座1に対する重みよりも小さくしています。ですので優先はボーン1にありますが、相互作用を加味されています。(d)はボーン4の重みですが、これは掛けていません。

上の図は各ボーンのオブジェクトに対する重みを表しています。この重みに従って、ボーンの動きがオブジェクトの動きに変換されます。これらの付け方で動きが変わります。今回は特別な動きをさせようとする意図はなく、適当につけました。
このように重みを付けて動かしたのが、先に上げた2つ目の動画です。
次にfbxファイルにして、Touchdesignerに渡し、調整したプログラムの主要部分を示します。

ボーンコントロールの部分は、ルートボーンを含む5つのボーンが、重みを保ちながらTouchdesignerのオペレータに変換されている部分です。重みを維持してTouchdesignerに移せるのが便利なところです。もし最初からTouchdesignerで行うには、groupを細かく分けて移動量を調整しなければなりません。Touchdesignerで開いた時は、アニメーション情報でボーンが動くように設定されています。このアニメーションの情報を消し、ボーンをLFO CHOPを使って動かせるようにしています。こうして動かしたのが最初の動画です。オブジェクトのテクスチャーは、phong MATを使って着けました。phong MATに与える映像をクロスフェード的に切り替えて石と筋肉の遷移を行っています。遷移に伴って動きを付けています。
blenderの発振現象を筋肉のような動きに変換できることがわかりました。Touchdesignerに移すことで、外部から動きをコントロールすることができます。動きについて述べてきましたが、サイズや移動もコントロール可能です。このためオブジェクトに様々な変化を付けることができます。この手法は生物的な動きや形の変化を作るのに応用できると思っています。

コメント