ソースに絡まるエスカルゴ

貧弱プログラマの外部記憶装置です。

【Blender】海洋(Ocean)モディファイアを使った模様の作成

 今回は海洋(Ocean)モディファイアを使った模様が変化する動画を作っていきます。
 参考資料にあるページのやり方そのままですが備忘録として残しておきます。


1:海洋(Ocean)モディファイアで海のシミュレーションを作成する
 Blenderを起動したらデフォルトのCubeがあるので、そのCubeを選択した状態で「Modifier」アイコンの「Add Modifier」から「Ocean」を左クリックで選択します。
f:id:rikoubou:20180927150811p:plain

 Oceanモディファイアが追加されるので、以下のように「Resolution(解像度)を22」、「Smallest Wave(最小の波)を0.8」、「Generate Foam(泡の生成)にチェック」というように変更します。
f:id:rikoubou:20180927151227p:plain

 設定が終わったら「現在のキーフレームが1」になっていることと「OceanモディファイアのTimeが1」になっていることを確認して、Timeのところにマウスカーソルを持って来て「i」キーを押してキーフレームに登録します。
f:id:rikoubou:20180927151712p:plain

 次に現在のキーフレームを最終フレームである250に変更し、OceanモディファイアのTimeを25に変更します。そして同様にTimeのところにマウスカーソルを持って来て「i」キーを押してキーフレームに登録します。
f:id:rikoubou:20180927152121p:plain

 ここまでできたら「Alt+Aキー」でアニメーションをさせてみましょう。計算に時間がかかりますが、以下のように波のシミュレーションができているのがわかると思います。
f:id:rikoubou:20180927152718g:plain


2:海洋(Ocean)モディファイアの結果を素材にする
 海のアニメーションができましたが今回はこの計算結果を素材として使います。

 Oceanモディファイアの「Cache path」を「//ocean1」に変更して「Bake Ocean」ボタンを左クリックします。
f:id:rikoubou:20180927153437p:plain

 すると開いているblendファイルと同じ階層に「oceanフォルダ」が作成され、その中に計算結果の模様が連番画像として保存されます。
f:id:rikoubou:20180927153643p:plain

 次に「Ramdom Seed」を1に変更し、「Cache Path」も「//ocean2」に変更して「Bake Ocean」ボタンを左クリックします。
f:id:rikoubou:20180927153913p:plain

 それが終わったら同様に「Ramdom Seed」を2に変更し、「Cache Path」も「//ocean3」に変更して「Bake Ocean」ボタンを左クリックします。

 これで以下のように3つのパターンの連番画像が作成できました。
f:id:rikoubou:20180927154300p:plain


3:素材を組み合わせて動画にする
 素材ができたので今度はこれを組み合わせて動画にしていきます。

 上部にある画面のブルダウンから「Compositing」を選択してコンポジット画面に切り替えます。
f:id:rikoubou:20180927154703p:plain

 コンポジット画面に切り替えたら「Use Nodes」にチェックを入れます。
f:id:rikoubou:20180927154714p:plain

 チェックを入れると出てくる「Render Layers」を左クリックで選択して「X」キーを押して削除します。
f:id:rikoubou:20180927154918p:plain

 ノードが表示されているノードエディタ上で「Shift+Aキー」を押し、「Input」→「Image」を選択します。
f:id:rikoubou:20180927155130p:plain

「Image」ノードが追加されるので「Open」ボタンを左クリックします。
f:id:rikoubou:20180927155308p:plain

「Ocean1」フォルダにある一番最初の連番画像を選択して「Open Image」ボタンを左クリックします。
f:id:rikoubou:20180927155438p:plain

 画像が読み込まれるのでプルダウンを「Image Sequence(連番画像)」に変更します。
f:id:rikoubou:20180927155630p:plain

 次にファイル名の横にある「F」ボタンを左クリックし、「Frames」の値を250に変更します。
f:id:rikoubou:20180927155804p:plain

 同様のやり方でocean2、ocean3の連番画像も読み込ませます。
f:id:rikoubou:20180927160248p:plain

 それぞれの素材を読み込めたら「Shift+Aキー」を押して「Color」→「RGB Curves」を左クリックします。
f:id:rikoubou:20180927160355p:plain

「RGB Curves」のノードが追加されるので、それを選択した状態で「Shift+Dキー」を押してコピーします。
f:id:rikoubou:20180927160719p:plain

「RGB Curves」のノードが全部で3つになるようにします。
f:id:rikoubou:20180927161747p:plain

 RGB Curvesの「R」を左クリックして曲線を調節し、ocean1ノードのImageとRGB CurvesのImageを左ドラッグで繋ぎます。
f:id:rikoubou:20180927161938p:plain

 次にRGB Curvesの「G」を左クリックして曲線を調節し、ocean2ノードのImageとRGB CurvesのImageを左ドラッグで繋ぎます。
f:id:rikoubou:20180927162245p:plain

 続いてRGB Curvesの「B」を左クリックして曲線を調節し、ocean3ノードのImageとRGB CurvesのImageを左ドラッグで繋ぎます。
f:id:rikoubou:20180927162402p:plain

 これで以下のようなノードになります。
f:id:rikoubou:20180927162446p:plain

 ここまでできたら「Shift+Aキー」から「Color」→「Mix」を左クリックします。
f:id:rikoubou:20180927162557p:plain

「Mix」ノードが追加されるのでプルダウンから「Add」を選択します。
f:id:rikoubou:20180927162748p:plain

 2つのRGB CurvesのImageを左ドラッグで繋ぎ合わせます。
f:id:rikoubou:20180927162845p:plain

 同様の方法でもう一つのRGB Curvesも繋ぎ合わせます。
f:id:rikoubou:20180927163118p:plain

 次に「Shift+Aキー」を押して「Filter」→「Glare」を選択します。
f:id:rikoubou:20180927163623p:plain

 追加された「Glare」ノードのGlare Typeのプルダウンから「Fog Glow」を選択します。
f:id:rikoubou:20180927180510p:plain

「Threshold」の値を0、「Size」を6、「Quality」のプルダウンを「High」に設定します。
f:id:rikoubou:20180927180751p:plain

 Glareのノードを選択した状態で「Shift+Dキー」を押してコピーします。
f:id:rikoubou:20180927181050p:plain

 最後に以下のようにノードを左ドラッグで繋ぎます。
f:id:rikoubou:20180927181340p:plain

 最終的には以下のようになります。
f:id:rikoubou:20180927181443p:plain

 ここまでできたら「Render」ボタンを左クリックすると現在のフレームのレンダリング時間が表示されます。
f:id:rikoubou:20180927181614p:plain

 あとは動画出力の設定を行い、アニメーションとして出力すると以下のようになります。


 以上が海洋(Ocean)モディファイアを使った模様動画の作成方法です。
 自分はノードについてよくわかってないのですが、色々応用できると思います。

 今回作成したblendファイルは以下に公開しています。


・参考資料