C4Dの『ソフトボディダイナミクス』を使ってみる。
『ソフトボディダイナミクス』…私は、
Cinema4D studioのR17を買った時にはじめて試したのですが、
触った時の感想は
・フリーズしたように重い!
・ポリゴンがグチャグチャに変形してしまう!
であって、長らく使ってきませんでした。
その後、新しいPCを買って、スペックに余裕も出来てきたので久々に挑戦してみたところ
使い方が少しだけ分かって来たので、今回はそれを紹介したいと思います。
例によって初心者向けの記事なので、
玄人さんは華麗にブラウザバックして下さい(笑)
また、もし「間違ってるぞ!」という部分があれば是非教えてください。
※この記事には追記(2018年10月24日)があります。
■ソフトボディダイナミクスって何?
Cinema4D Studioの機能の一つです。
Studioバージョン以外には搭載されていません。
一例ですが、
リジットボディを適用したオブジェクトが床に落ちると
固く跳ねますが、
ソフトボディを適用したオブジェクトが床に落ちると
弾力を持って跳ねます。
以下が参考動画です。
テレビなどの硬いものが柔らかく跳ねると、そのギャップだけでちょっと面白いですね(笑)
■使い方
ソフトボディダイナミクス機能を付けたいオブジェクトを
右クリック→シミュレーションタグ→ソフトボディ
を選択します。
このタグが付けば適用済みです。
ちなみに、
設定画面上での「リジットボディ」との違いは
ダイナミクスボディの項目→「ソフトボディ」→
「ポリゴン/ラインで作成」となっているか
「オフ」になっているかだけです。
■立方体に適用してみる。
「床」を設置して右クリック→「シミュレーションタグ」→「衝突」をクリック。
「立方体」を設置して右クリック→「シミュレーションタグ」→「ソフトボディ」をクリック。
立方体を床よりも高い位置に置いて再生すると、重力で落下します。
が、この状態では衝突時にリジットボディとなにも変わらない、
「固く跳ねる動き」をします。
これはなぜかと言いますと、立方体の分割数が少ないからです。
立方体の初期の分割数は1になっているので、
それぞれ10に上げて、再生してみましょう。
床と衝突した際、ポヨンと柔らかな動きになります。
ソフトボディはポリゴンの板の間にスプリングが差し込まれるようなイメージです。
なので、ポリゴン数(プリミティブオブジェクトの場合は分割数)が
多いほど、衝突時に自然に動きます。
ただし、多ければ多いほどパソコンの動きも重くなるので注意が必要です。
■カボチャに適用してみる。
この記事を書いた時はハロウィンの時期なので、
今回は
コンテンツブラウザのBroadcast→3D Objects→Celebrationの中にある、
「Pumpkin-Halloween」(以下カボチャ)を読み込む事にします。
読み込んだ状態では、オブジェクトが複数に分かれているので
カボチャを右クリック→子オブジェクトを選択し、更に
「オブジェクトを一体化+消去」で一つのオブジェクトにします。
これにソフトボディタグをつけて、再生してみます…と、かなり重いです。
環境によっては、パソコンがフリーズしたようになるかもしれません。
なので、まずはカボチャのポリゴン数を減らすことからはじめます。
■まずはオブジェクトを軽くする。
Cinema4Dの機能の一つ、「ポリゴンリダクション」を読み込み、
カボチャをその中に入れます。
そうすると、ポリゴンが大分削減されます。
※初期値は削減強度90%になっています。
前述の立方体のように、
分割数やポリゴン数が少なすぎても上手くいかないので、任意で調整してください。
私は今回、デフォルトの90%で進めました。
「カボチャ」の入った「ポリゴンリダクション」を
再度、右クリック→子オブジェクトを選択後、
「オブジェクトを一体化+消去」で一つのオブジェクトにします。
この時点で、カボチャの名称は「ポリゴンリダクション.1」になっていると思います。
それにソフトボディタグをつけます。
再生してみると、若干マシですがまだ重たいです。
そして、再生と同時にポリゴンが崩れはじめます。
怖い…!そのまま床に衝突するとめちゃくちゃに膨らみ、変形していきます。
これでは使い物にならないので、修正していきます。
■自己衝突判定のチェックを外す。
ソフトボディタグをクリックし、
「ダイナミクスボディタグ」→「衝突判定」→「自己衝突判定」のチェックを外します。
デフォルトではチェックがついているのですが、
このチェックがついていると非常に動作が重くなり、まともにプレビュー出来ない可能性が跳ね上がります。
超ハイスペックなPC環境がある人はともかく、
ソフトボディダイナミクスを使う際は、動かなければ意味がないので外してしまいましょう。
また、
「ダイナミクスボディタグ」→「ソフトボディ」→「正確なソルバーを使う」のチェックを外すのも、
重さ対策になります。
ただし、衝突時の動きが若干汚くなるようです。
これで一度再生してみます。
大分軽くなりましたし、衝突時にもメチャクチャに変形しなくなりました。
ただ、潰れたままで元のカボチャに戻りません。
「ダイナミクスボディタグ」→「ソフトボディ」→「形状を保持」→「固さ」
の値を初期値の0から30ぐらいにしてみます。
そうすると、
おお、床に衝突後、ポヨンと綺麗に跳ねて形も元に戻る様になりました。
ひとまずカボチャはこれで良さそうです。お疲れ様でした!
■プロジェクト設定の値を変える。
オブジェクトによっては、
上記の事をやってもポリゴンが爆発したり変形してしまう場合もあります。
その場合は、以前の記事「Cinema4Dでダイナミクスを使ってみる」でも説明した、
プロジェクト設定の値を変えます。
以前の記事はこちら→
「プロジェクト設定」→「ダイナミクス」→「詳細」
の「衝突判定のマージン」と「フレームあたりのステップ数」です。
「フレームあたりのステップ数」を変更する方が一般的なようですが、
「衝突判定のマージン」の値を変えることでうまく解決する時もあります。
「フレームあたりのステップ数」の初期値は5ですが、
20~50ぐらいで試してみて下さい。
数値を上げれば上げるほど負荷も増えて動作は重くなります。
しかしその反面、数値を上げれば上げるほど改善するか?と言うと必ずしもそうではないので、
制作しているプロジェクト毎に何度か打ち込んで試してみて下さい。
■まとめ
いかがだったでしょうか?
「ダイナミクスボディタグ」→「ソフトボディ」の項目には他にも様々なパラメーターもあります。
しかし、文字や絵で説明しても変化の伝わりにくい部分なので実際触ってみるのが一番分かりやすいと思います。
最後に、
ソフトボディダイナミクスは
ただ床に落として跳ねさせるだけの機能ではありませんし、解説内容は基礎でしかありません。
私のように苦手意識を持ってしまった方の参考となれば嬉しいです。
■追記(2018年10月24日)
この記事をツイートしたところ、
大変嬉しい事に、MaxonJapan公式様と、冨士俊雄様からアドバイスを頂けましたので、
そのアドバイスを元に追記させて頂く事にしました。
以下のリンクからご覧頂けます!
映像、イラスト、漫画、コンテなどの制作、画像加工を承っております!→こちら
“C4Dの『ソフトボディダイナミクス』を使ってみる。” に対して1件のコメントがあります。