忘却まとめ

Blenderの中級者・上級者向けの踏み込んだ情報や、アドオン・3DCGに関する情報を記事にします

【物理演算】破壊アニメーションの覚え書き【Blender】

Blender

更新日:

「鉄球がぶつかってモノを破壊する」という、基本的なよくあるアニメーションを作る際の覚え書きを書く。

作成したアニメーション

このような動画を制作する。

シーンデータのダウンロード

この記事が気に入ったら支援をお願いします。
特典でこの記事で作ったシーンの中身を見たり、商用利用ができます。

gumroad - $5

参考動画

似たような動画や記事は多くあるので、大体はそちらを参考にするとよい。
作る要素は主に、鎖と破壊オブジェクト。

Chain Physics in Blender Tutorial - YouTube

Blender Tutorial: 9 Ways to Destroy Things - YouTube

【Blender】剛体破壊シミュレーションの方法 - ソースに絡まるエスカルゴ

破壊されるものが落ちないように作る。
リジッドボディを設定して、パッシブにするだけでよい。
パッシブは、受動的という意味で、動かないオブジェクトに設定する。
平らが寂しければ、ディスプレイスメントモディファイアとノイズテクスチャを活用して、ボコボコに隆起させる。

  1. 平面プリミティブを作成
  2. リジットボディを設定
  3. 設定はパッシブにする

1つの鎖オブジェクトを、配列複製モディファイアで複製、個々に分離して、リジッドボディを付けて、設定をパッシブにする

  1. 配列複製モディファイアで複製
    • エンプティオブジェクトを作成
    • 配列複製のオフセット(OBJ)のオプションにそのオブジェクトを設定する
    • エンプティを90度回転させると、複製したものが交互に連なる
  2. 配列複製モディファイアを適用
  3. オブジェクト → 分離 → [構造的に分離したパーツで]を使用し、複製した鎖パーツを全てばらばらにする
  4. 原点をそれぞれのオブジェクトの中心に設定(原点をジオメトリに)
  5. リジットボディを設定
    • 設定はアクティブにする
    • オブジェクト → リジットボディ → [アクティブからコピー] を活用して、一括設定する
    • 固定したい部分のみパッシブにする
  6. UV球を作成し、末尾の鎖に結合する

リジットボディがメッシュを突き抜けてしまう場合

1秒ごとの計算回数を上げると改善する。

  1. プロパティエディター → シーン → リジットボディワールド
  2. [ステップ/秒] の数値を上げる

破壊されるオブジェクト

Cell Fractureアドオンを使う

Cell Fractureアドオンを使用して、オブジェクトを分割する
アノテーション(3Dビューに書くことができる機能)で、割れ方を意図した部分だけより細かくしたり、円を書いてドラゴンボールのアレっぽく設定することができる。

  1. Cell Fractureアドオンを有効化
    • 標準で内蔵されているので設定 → アドオンから検索して探す
  2. オブジェクト → クイックエフェクト → Cell Fracture
    • いくつか設定があるので試行錯誤
  3. 全てにリジットボディを設定
    • 設定はアクティブにする

破壊される寸前にリジッドボディを開始する

実際に接触して破壊されるときだけリジッドボディが有効になるように設定する。

  1. プロパティエディター → リジッドボディ → 設定 → [アニメ] にキーフレームを付ける
  2. オブジェクト → リンク作成 → [アニメーションデータ] を活用して、キーフレームを全破壊オブジェクトにコピーする

アニメーションが途中で止まる場合

秒ごとの計算回数を上げた場合などに、実際のフレームよりもキャッシュを多めに設定する必要がある模様。

  1. プロパティエディター → シーン → リジットボディワールド
  2. キャッシュ
  3. [終了] を多めに設定する

剛体シミュレーションが途中で止まってしまう場合の対処法

カメラアニメーション

パスに追従とトラックコンストレイントを利用したアニメーションを作る。

パスに追従 - カメラの動きをカーブオブジェクトに追従させる

  • NURBSカーブオブジェクトを作成
    • 上の鉄球から、下の破壊オブジェクトに流れるようなカーブ形状にする
  • プロパティエディター → コンストレイント → [パスに追従]を設定
  • ターゲット をカーブに設定
  • Blenderのカメラは、デフォルトでは下(-Z)をむいているので、下記のように設定する
    • …… -Z
    • …… Y

カーブにアニメーションを設定する

単純に始点と終点にキーフレームを打つだけではなく、助長になりすぎないように緩急をつけたり、見せたいシーンをより多く取るなどするとよい。

  • カーブオブジェクトを選択
  • プロパティエディター → カーブ → カーブアニメーション → 評価時間 にアニメーションを設定する
    • 0-100の値が、カーブの終-始のアニメーション

トラック - カメラの向きを鉄球に向ける

  • プロパティエディター → コンストレイント → [トラック]を設定
  • ターゲット を鉄球に設定
  • Blenderのカメラは、デフォルトでは下(-Z)をむいているので、下記のように設定する
    • …… -Z
    • …… Y

トラック - 鉄球に追従しすぎないようにする

最後まで鉄球にカメラを追従していると、破壊オブジェクトが最後まで映らなくなってしまう場合がある。鉄球に追従しすぎないようにもう1つのトラックを設定する。

  1. エンプティオブジェクトを作成
    • 破壊オブジェクトと同じ位置に配置
  2. トラックコンストレイントを設定
    • ターゲットにエンプティオブジェクトを設定
    • 上記と同様の設定をする
  3. 鉄球に追従したくないフレーム付近に、[影響]にキーフレームを設定する

質感設定

ほとんどノイズテクスチャ + カラーランプを利用して作成した。

色調整

背景が昼なので若干コントラストを上げる調整をする。

  • プロパティエディター → カラーマネジメント → トーンカーブ

レンダリング

一度png連番として書き出した後、mp4として動画に出力する。
フレームが多い場合は、低解像度のテストレンダリングをして、問題がないか確認したあと本番のレンダリングをするとよい。

png連番で書き出す

  1. プロパティエディター → 出力 → ファイルフォーマット → PNGに設定
    1. アニメーション でレンダリング

mp4で書き出す

  1. シーケンサーエディターを開く
  2. 追加(Shift + A) → 画像 → 先ほどレンダリングした連番画像をすべて選択して追加
  3. クリップをタイムラインの先頭に合わせる
  4. プロパティエディター → 出力 → ファイルフォーマット → FFmpeg動画に設定
  5. コンテナ → MPEG-4
  6. 動画コーデック → H.264
  7. アニメーション でレンダリング

シーケンサーエディターを使用中でも3Dビューをレンダリングしたい場合

シーケンサーエディター内にクリップがある場合は、シーケンサーの方がレンダリングされるようで、どうすればいいかがわからない。とりあえず、クリップを削除すれば3Dビューをレンダリングできる模様。

シーンデータのダウンロード

この記事が気に入ったら支援をお願いします。
特典でこの記事で作ったシーンの中身を見たり、商用利用ができます。

gumroad - $5

-Blender
-, , , ,

Copyright© 忘却まとめ , 2019 All Rights Reserved Powered by STINGER.