機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

【Blender】荒磯に打ちつける波を作る動画のログ

はじめに

【Blender】荒磯に打ちつける波を作る【流体アニメーション】という動画を自分用にメモを残しておきます。
簡単だそうですが、私には設定項目が多く感じたので、メモを残すことにしました。

水槽の設定

Timeline Title Content Image
0:28 不要なものの削除 ・Camera, Light は削除する。
・Cube を作成する。
0:45 Cubeのサイズ調整 ・Cube は水槽の役割を果たす。
・YのScaleを1.5にする。
0:56 Fluid の設定 ・Physics Properties の Fluid のボタンを押下する。
・Type を Domain にする。
・Domain Type を Liquid にする。
・Resolution Divisions を 96 にする。(推奨は128以上)
1:27 Fluid の設定2 ・Frame End を 100 にする。
・Timeline の End Frame も 100 にする。
・Type を Modular にする。
・動画では、Resumable にチェックを入れるとあるが、4.5.2 では Resumable が非活性になるためチェックできない。
2:02 Domain の確認 ・Wireframe に表示にして、Cube の隅に小さな Cube があることを確認する。

蛇口の設定

Timeline Title Content Image
2:34 蛇口のようなものを作る ・Cube を作成し、Object Modeのまま画像のような Cube にする。
3:04 Fluid の設定 ・Physics Properties の Fluid のボタンを押下する。
・Type を Flow にする。
・Flow Type を Liquid にする。

流体シミュレーション

Timeline Title Content Image
3:39 Bake ・Domain(水槽の Cube)を選択する。
・Physics Properties の Fluid の Bake Data ボタンを押下する。
3:55 流体シミュレーションの確認 ・Bake が完了すると 蛇口が青くなる。
・Space Key を押下すると、波のシミュレーションが動く。
・箱や蛇口の大きさを変更することで並の強さなどを変更可能となる。

荒磯の設定

Timeline Title Content Image
5:22 荒磯の Download ・Rock Moss Set 01より、解像度を 2 K にしてダウンロードする。
・ダウンロードをが完了したら解凍し適当なフォルダに入れておく。
5:47 荒磯の Append ・File > Append より、rock_moss_set_01_2k.blend を選び、Append ボタンを押下する。
・Object フォルダの Object を 6つとも選択して Append を押下する。
6:12 荒磯の調整 ・4つ削除する。
・右図のように荒磯のサイズと位置を調整する。
6:36 荒磯を1つのオブジェクトにする 2つの荒磯を選択し、Ctrl + J を押下し結合する。
6:43 Fluid の設定 ・Physics Properties の Fluid のボタンを押下する。
・Type を Effector にする。
7:00 Bake をし直す ・水槽を選んで、Free Data を押下する。
・再度 Bake Data ボタンを押下する。
7:15 流体シミュレーションの確認 ・荒磯が障害物となって波が動いていることを確認する。

水のMesh化

Timeline Title Content Image
8:10 Bake Mesh Domain を選択し、Physics Properties > Mesh > Bake Mesh ボタンを押下する。
8:47 Bake の確認 3d viewport 上で Mesh になってことを確認する。
9:15 Smooth Shade をかける Solid Mode にして Smooth Shade を掛けて法線を滑らかにする。

水の質感

Timeline Title Content Image
9:56 水のBSDFを変更する ・Domainを選択したままで Material を新規作成する。
Surface を Glass BSDF に変更する。
・Roughness を 0.2 にする。
・IOR を 1.333 にする。
・動画に合わせて Beckman にした。
10:36 環境マッピングの設定 ・Shading タブを押下する。
・Shader Editor の Shader Type を World にする。
・右図のように環境マップを設定する。(こちらよりダウンロードできます)
12:06 Cycles に変更する ・Render Properties > Render Engine を Cycles にする。
動画ではしていないが、Device を GPU Compute にしておくとよい。
GPUに計算させるには、Edit > References > System > Cycles Render Devices を自身のGPUに合わせて設定しておく必要がある。
12:27 周りの景色を消す ・Render Properties > Film > Transparent にチェックを入れる。
・Transparent > Transparent Glass にチェックを入れる。

パーティクルの設定

Timeline Title Content Image
13:40 Spray, Foam, Bubbles の有効化 ・Layout タブを押下する。
流入口は非表示にする。
・水を選択した状態で、Physics Properties > Liquid > Particles > Spray, Foam, Bubbles にすべてチェックを入れる
14:25 Bake Particles Physics Properties > Liquid > Particles > Bake Particles を押下する。

パーティクルの要素を作成

Timeline Title Content Image
15:04 Wireframeにする 作業を軽くするため Wireframe にする。 無し
15:09 Ico Sphere 作成 ・水の上側に Ico Sphere を作成する。
・Subdivisions を 1 にする。
・上側に配置し小さくして回転もしておく。
・Shader Tab を押下し、右図のような Material Node を作成する。
16:35 Ico Spehere 2つ複製する Shift + D で複製し、サイズと回転を変更する。
17:10 3つの Ico Sphere を Collection にまとめる 3つの Ico Sphere を選択し、Ctrl + J を押下する。
・Collection が作成されるので Splash と命名する。
・作成した Collection は Outliner で Display Mode を Blender File にすると、Collections の下で確認することができる。

パーティクルの設定2

Timeline Title Content Image
--:-- Realtime を False に 注意やや重たい作業になるので、先に Realtime を False にすることをお勧めします。
17:29 Sprayの設定 ・Particle Properties の Spray を選択する。
・Render > Render As を Collection にする。
・Render > Collection > Instance Collection を先ほど作成した Splash にする。
・Render > Collection > Pick Random にチェックを入れる。
18:27 Foam, Bubbles の設定 Spray と同様の設定を行う。

カメラの設定

Timeline Title Content Image
20:13 カメラの設定 省略
20:29 解像度の設定 ・Output Properties > Format > Resolution の X, Y をそれぞれ 1280, 720 にする。
・この時点で Output Properties > Output > File Format を動画形式(私の場合は FFmpeg Video)にしておいた方が良いと思う。
20:43 Rendering 時の Samples の設定 Render Properties > Sampling > Render > Max Samples を 32 にする。
21:00 Rendering ・Render > Render Image を押下する。
・以上です。お疲れさまでした。

Render した画像

55 Frame を Rendering した画像です。キレイですね。

動画を出力するには

Render > Render Animation を押下してください。
時間がかかる処理なので、設定を工夫してみてください。
Render Properties > Sampling > Render > Noise Threshold をデフォルトの 0.01 から 0.1 - 0.5 にするとよい。


Render した動画

1-100 Frame まで出力した動画です。
GIFに変換した際に荒くなりましたが、実際はキレイです。(Microsoft ClipChamp で編集しました。)

注意

GPU の設定がされていれば CPU で計算したときより Rendering が基本的に早いです。
(GPU を使用した場合の処理速度は環境に依存します。あまり早くならない場合もあるようです。)
GPU で計算したほうが良いです。
タスクマネージャで GPU が動いているかどうかは確認できます。

目次へ戻る