Blender 球体が透明容器の中で膨らむアニメーション
11月7日には今回と似た動画を作っている。「Blender 透明容器に一杯に膨らむアニメーション」という題である。その時はジオメトリノードを使ってドーナツ型で作った。今回は似てはいるが制作方法は違う。パーティクルシステムで作った。透明な立方体に球体がだんだんと大きくなって詰まってしまう・・・という動画である。
制作過程
Cubeを追加してすぐにパーティクルプロパティに入る。表示方法をワイヤーフレームにした。今回はジオメトリノードは一切使わない。パーティクルシステムでどんどんと設定していった。数20、開始フレーム1、終了1、寿命250。ソースを開いて放射源を「ボリューム」にした。そうすると立方体の内部からパーティクルが発生する。分布は「ランダム」。速度のノーマルは0。
次はパーティクルをオブジェクトのICO球にしたい。ICO球に細分化もかける。
Cubeを選択し直し、レンダリング方法をオブジェクトにして、対象をICO球にした。まだこの時点のICO球はインスタンスオブジェクトなので実体はない。したがって物理演算はかからない。これを実体化するためには、Ctrl+Aから「インスタンスを実体化」しなければならない。この操作でICO球がオブジェクトになった。
ここでもう不要となった最初のCubeとパーティクル大元のICO球は削除した。今度は20個のICO球だけになった。
このICO球をいろいろな角度から見て、重なり具合を調べる。重なっていると次に物理演算でクロスを使うときにエラーが起こるというので、選んで直した。これが終わったら、この球達を統合した。そしてクロスのゴムに設定。圧力をとりあえず200とした。(後でこの数値は調整する)
クロスの項目の中で、シェイプの「収縮係数」が大事である。「+」は縮む、「-」は膨らむ。後で、圧力と収縮係数を使ってアニメーションのキーフレームを打つ予定のところである。
取り敢えず収縮係数を―0.9とし重力0にして再生してみた。球体が膨らんだ。
メッシュが一部重なったところがあったので「セルフコリジョン」にチェックを入れた。これで中身の球体の動きはできた。
外容器の作成
また新たにCubeを入れる。上の20個の球体が入る大きさに大きくする。次に物理演算のコリジョンを選ぶ。ここで1つ注意が要る。コリジョンは面の表面に機能するという。Cubeの中側で物理演算(コリジョン)を使いたいので、この立方体の面をひっくり返す必要がある。最初は外向きの面になっていた。
面の向きにチェックを入れた後、ALT+Nから「反転」を選ぶ。そうすると面の向きが赤くなった。面が裏返ったという証拠である。
こうして外側の容器の設定は終わった。
さて、もう一度球体の設定を見直す。球体(もう統合してある)を選び、物理演算クロスの圧力を600に直した。先ほどよりも大きく膨らんだ。コリジョンの品質も高くしておいた。
マテリアル設定
シェーディングに行き次のようにノードを組んだ。これは球のノードである。
容器のCubeにもマテリアルを付けた。
アニメーションを付ける。
アウトライナーでICO球を選択。物理演算をクリックし、1フレーム目には圧力0、収縮係数を0でキーフレームを打つ。タイムラインを進めて、今度は圧力600、収縮係数を-0.9でキーフレームを打った。再生して確認をする。
この後カメラ設定、ワールド設定にHDRI画像を使っておわりに近づいた。画像レンダリングをした結果が次の写真である。
出力はCyclesで行った。時間がかかりました。「球体が透明容器の中で膨らむアニメーション」をご覧ください。
Blender 球体が透明容器の中で膨らむアニメーション