Hall

表現力を高める

破壊の表現

2009.05.25

破壊的な巨人の力

巨人の行動によって、何かが破壊されたというような作品を作ろうとしたとき、ある難しい問題に当たります。それはいかに物を壊すかということです。

3DCGの世界では、データとして存在しない物は映像として表現されません。ゴミや壊れた物でもです。そこに壊れた物が表現されるには壊れた物を作らなくてはなりませんし、それが壊れる様子を表現する場合には、どのように壊れるのかといったデータも作らなくては映像にならないのです。壊れる様子を入念にモデル化することは可能かもしれませんが、現実的な方法とは言えません。物が壊れるシミュレーションを計算する方法があれば、壊れる前のモデルを用意すれば容易に映像化することがすることができます。

Poserでそんな方法があるのでしょうか。

あります。ここでは2つの方法について解説します。

物を潰す

物が潰れるというのは、物の形状が変形することです。こうした変形を行う機能として、Poserには2つの方法が用意されています。ひとつはモーフパテを使う方法で、もうひとつはマグネットです。

モーフパテは微調整のような変形に向いていますが、物が潰れるというような大きな変形には向いていません。一方マグネットは、細かい変形は苦手ですが、大きく変形させるには便利な機能です。例えば、巨人が自動車を握った手や指の跡を表現するのにはモーフパテが向いていますが、自動車がペッちゃんこに潰れるような時にはマグネットが向いていると言えます。今回はモーフパテの使い方は省き、マグネットを解説させていただきます。

作例

解説のため、作例を用意しました。校舎裏に駐車された自動車を巨大女子高生が踏みつぶすというものです。この潰された自動車の表現について解説します。

なおこの作例で使った主なモデルは次の通りです。

マグネットの準備

マグネットを使うためには、メニュー「オブジェクト」から「マグネット作成」を選択します。するとU字形のマグネットが小道具として作成されます。マグネットデフォーマは、このマグネットを含め3つのオブジェクトから成り立っています。

  • マグネット
  • マグネットベース
  • マグネットゾーン

マグネットベースの位置と大きさを決定して車の下にセットしたところが、右の図です。マグネットベースを調整すると、マグネットの位置や大きさもマグネットベースに合わせて変化します。

実はマグネットデフォーマの位置は、マグネットベースで決めます。下の図は、最初のアニメーションで使った実際の設定です。マグネットベースの値に注目してください。X移動/Y移動/Z移動の値を調整して、車の真下に来るように調整してあります。車はちょうどグローバル座標の真ん中に置かれているので、X移動とZ移動の位置は0です。Y移動の値ですが、自動車の床あたりにくるようにマイナスの値になっていますが、大きめの-96.41となったのは拡大率縮小が10%となっているからです。拡大率を10%にセットしてあるのは、車の大きさに合わせてのことです。

マグネットデフォーマの設定

車の下にセットしたマグネットを下に移動すると、マグネットゾーン内にあるオブジェクトが歪みます。移動するのはマグネットベースではなく、今度はマグネットです。言い換えるなら、マグネットとマグネットベースが離れた量に比例して、マグネットベース周辺のオブジェクトが歪められる仕組みです。このとき、歪みの影響する範囲をマグネットゾーンの表す球体によって決定されるのです。

上の図にあるマグネットゾーンの値に注目してください。X拡大縮小がZ拡大縮小よりも小さい値になっています。これは巨大少女の足の形を表現した結果です。この作例が、足の縦方向がZ軸方向、足の横方向がX軸方向になっているので、足の形状に合わせて歪みの影響が出るように調整した結果です。

このように調整した状態から赤矢印で示されたように、マグネットだけを下に移動すると車が足に踏まれたように歪むのです。マグネットが下に移動したところが、右の図です。このときマグネットの縦方向、つまりY拡大縮小の値が同時に調整されているのは、車の潰れ方を調整するためです。潰れたように歪ませるためには、単純に移動するだけでは駄目で、同時にマグネット自身を変形させなければならないことがります。マグネットが移動しながら変形すると、その変形の状態がマグネットゾーンにあるオブジェクトにも影響が出るのです。

若干、地面の中に引きずり込まれている部分もありますが、地面から下は見えなくなるので、この作例の場合にはあまり気にしませんでした。ちなみに複数のマグネットを配置すれば、地面にめり込まないで潰すことも可能ですが、その調整は非常に大変です。

後は、足が降りてくるのに合わせて、車が潰れるように時間的な調整を行えば作品の完成です。時間的な調整とは、巨大少女の足が車の屋根に触れたフレームから足が地面に接触するまでのフレームで、マグネットが移動を行うようにします。

この作例の場合、48フレーム目ではマグネットの位置に変化はありませんが、49フレーム目から足の動きに合わせてマグネットが下に移動しながらY方向に縮小し、54フレーム目でマグネットの移動は終了しています。55フレーム目も巨大少女の足は下がっていますが、これ以上変形させると妙な感じがしたので、車自体の変形は54フレーム目で終了としました。

物を崩す

崩れる様子は、物が潰れるのとは違い、高度なシミュレーションが必要になります。Poserのシミュレーション機能と言えば、布化シミュレーションが思い浮かびますが、これが適当なパラメータを与えることで破壊シミュレータとして上手く機能します。用意するオブジェクトデータに条件が伴いますが、適当なモデルさえ用意することができれば、マグネットを使った手法よりも簡単です。

布化できるオブジェクトの条件

メッシュが多用されているオブジェクトの場合、砕け散るような表現をすることはできません。服などのモデルのほとんどがメッシュ形状で作成されており、布シミュレーションはメッシュ形状を歪ませるように計算します。ですのでメッシュ形状は、歪んで変形しますが、バラバラになることはありません。もし砕け散るような表現をしたいのであれば、メッシュを使わずにモデリングしなければなりません。また、Poser以外の形式のモデルを読み込む際に、頂点を融合しない方が粉砕できるモデルになるかと思います。

また、全てのオブジェクトが布化できるとも限りません。もしシミュレート中にエラーが出るような場合には、モデルを作り直すか、あきらめて別のモデルを捜してください。どのようなオブジェクトでエラーが出るのかは現在実験中で、判明したところで別に記事にまとめたいと思っています。もしお分かりの方がいらっしゃいましたら、お教えいただければ非常に助かります。

作例

ここでも解説のために作例を用意しました。巨大少女が2階建ての家を蹴り壊すというものです。この作例では崩れるというよりも、砕け散っているといった状態ですが、この作例について解説します。

なおこの作例で使った主なモデルは次の通りです。

布化の設定

布化してシミュレーションを行うにはクロスルームを使います。クロスルームの使い方については、マニュアルを参照するか。またはこのページの記事を参照してください。ここではクロスルームでオブジェクトを布化することができる方を前提に、解説します。

まず最初にシミュレーションを作成し、そのシミュレーションにおいて建物(Blue House)を布化することです。この作例の場合、蹴り込んだ状態からシミュレートが始まりますので、布化した際に「ポーズなしからのドレーピング」オプションは不要ということになります。チェックを外すことを忘れないでください。また衝突対象に巨人を加えることはもちろん、地面との影響を考慮して、この作例では「床」オブジェクトを対象に加えてあります。

ここからが破壊シミュレーションのポイントになりますが、様々な種類の布をシミュレートできるようにシミュレーションにはダイナミクスコントロールと呼ばれるパラメータがあります。このパラメータを壊したい物体のシミュレーションに合うように調整すれば、あとは巨人に暴れてもらうだけでシミュレートを開始できます。

この作例では、次のような値に設定してあります

  • 曲げ抵抗:50
  • 剪断抵抗:0
  • 伸縮抵抗:100
  • 伸縮ダンピング:1
  • 布密度:0.5
  • 布の自己摩擦:0
  • 静的摩擦:0.5
  • 動的摩擦:0.1
  • エアーダンピング:0.02

極端な値をとっているものがいくつかありますが、この値が実際の建物が崩壊するシミュレートに適した値である科学的根拠はありません。実際に崩壊する様子をシミュレートしながら決めました。ポイントは、曲げ抵抗はかなり大きく、剪断抵抗は少なく、伸縮抵抗はかなり大きく、布密度は大きく、自己摩擦は少なくといったところだと思います。堅い建材で組まれた建物が崩壊する雰囲気が表現できたかと思います。あとは建物に足が突入する18フレーム目からシミュレーションを開始します。最後のフレームまでシミュレーション計算を終えたら作品の完成です。

これは余談ですが、この作例では建物の他にスカートにもシミュレーションを施してあります。建物とスカートは別々のシミュレーションに属しています。別のシミュレーションにすれば、異なるタイミングでシミュレートを開始することができます。複数のシミュレートを行うためには、新規シミュレートボタンを押して、シミュレートを好きなだけ増やすことができます。