Cyclesで水面のアニメーションを作る(テクスチャ版)

まだまだ暑いので涼しげな海を作りました。(ずいぶん前ですけど


Blenderで水面というと、モディファイアのOcean(海洋)がありますがそっちだと結構動作が重くて大変だったりするので、ゲーム使われるバンプマップテクスチャを動かして水面を作る方法を調べました。

ちなみにCyclesでのOcean(海洋)の使い方はこちらのページにありました。英語ですがスクリーンショットがあるので読めなくても大丈夫です。

以下だらだらとやり方メモ。(かなり怪しいチュートリアルです)

Blednerには現在ふたつのレンダーがありますが、Cyclesレンダーが好きなのでそちらで作りました。(BlenderRenderでの作り方も基本は一緒ですがマテリアル設定が違うだけです)Cyclesは基準レンダーに比べ、重いのでNIVIDIAのGPUがある人はCyclesでも問題ないと思います。その場合設定でCUDAを選らんで、レンダーのデバイスをGPUに変更してください。(こちらはちなみにGTX670)

まず、追加>平面を配置。サイズはグリッドよりちょっと大きめで(追加後S+17くらい)。
無題クリップ_082314_092353_PM

次に平面オブジェクトにマテリアルを設定します。オブジェクトを選択してから下の画面をノードへ変更し、ノードを有効にします。
無題クリップ_082314_092903_PM

ノードが現れたので、小さいときはCtrl+右クリックドラッグか中ボタンスクロールで拡大します。下のメニューの追加からシェーダー>グラス(Glass)BSDF。同じくシェーダー>光沢BSDF(Glossy)を追加します。ちなみに私はノードについてぜんぜん詳しくないので間違っているかもしれません御注意!;

c

そしてまたまたシェーダー>ミックスシェーダーを追加し、緑の丸から線をひっぱってこんな感じにつなげます。要はガラスの質感と光沢と質感をミックスさせて水っぽいマテリアルを作る作業?です。中の数字は一応このようにしてください。
lake01

 ~ちなみに~
 Blender Cycles memoさまによるとミックスシェーダーにつなげたシェーダーを上から第1シェーダー、第2シェーダーといいまして、係数(fac)は0.00で第一シェーダーのみが反映。1.00で第二シェーダーのみ、0.5で50:50の混ざり具合になるそうです。なので、こちらの設定はグラス質感でやや光沢があるマテリアルという感じ そして、グラスBSDFのIORという数値は1.333になってますが、これは屈折率を表す数値です。水の屈折率はググると1.3334となってますのでこの数値になってます。

さらに、追加から、テクスチャ>ノイズテクスチャを2個追加し、カラー>ミックスRGPを追加、コンバーター>数式>乗算(Multiply)を追加。こんな感じにつなげます。
01

マテリアル出力のディスプレイメントはつなげたテクスチャなどがバンプマップのように反映されるみたい?でノイズテクスチャ部分が凹凸になります。乗算のところの数値は小さいほど凸凹が小さくなり大きいほど凹凸がはっきりします。静かな湖面などは小さくすると言いと思います。(乗算は数値の変更用に入れてるので実際乗算でいいのか良く分かりません!)

あとこのままだと、水中のオブジェクトが見えないので、表示したい場合、透過を追加すると透けました。…が遠景の場合はいらないと思います。
nod2

ここで、一回レンダリング確認。
無題クリップ_082314_100047_PM
オブジェクトモードの横のレンダーで、レンダリング結果が表示されます。真っ暗でよく分かりませんがランプはXで消してください。

ワールド設定をします。水は映り込みがないと水だと分かりにくいためです。手っ取り早くIBLを使います。地球マークのメニューからノードを使用
無題クリップ_082314_101901_PM

背景の下カラーの丸をクリックするとメニューが出ますので環境テクスチャを選択。
無題クリップ_082314_101500_PM

無題クリップ_082314_102312_PM
開くからIBL画像を設定します。IBL画像がない方はスーパー太っ腹なsIBL Archive さまなどからダウンロードしてみてください。私はGrand Canyon Cというのを使わせていただきました。※ちなみに、IBLの使い方はこちらのブログで分かりやすく書かれてます。

開くとこんな感じに!IBLすごい
無題クリップ_082414_091538_PM
※(ちゃっかりノイズテクスチャの細かさを2に変えてます。)ここでノイズテクスチャの数値をいろいろいじってみるとどんな風に変化するかわかりやすいです。またノイズテクスチャ以外にもボロノイ、波テクスチャなど使えばもっと複雑な波の形状も出来るようです。(うーむわかんない)

また画像が荒すぎて見えない時はビューのサンプリングを変えてください。ここでは両方をサンプリングを50にしました。サンプル数は多ければ多いほどレンダリング計算し、きれいに表示します。しかし、サンプル数は多ければ多いほど、良いわけでもないようです。
sample

後は、カメラの設定をします。レンダリング時の絵を決めます。テンキー0を押すと現在の設定されているカメラの視点になるので、カメラを選択してトランスフォームの位置、回転の数値で設定するか、タブのカメラをビューにロックにチェックを入れ、左クリックの視点移動で感覚的にカメラの視点を設定できます。決まったら先ほどのチェックをはずしてください。seakamera

やっと波のアニメーションです!seatexture

した画面をタイムラインにし、1に合わせ、メニューのオートテクスチャスペース(チェックが入っている場合外す)の位置のところにカーソルを合わせてi(アイ)でキーフレームを打ちます。終了はとりあえず100くらいにします。
texspace
次にタイムラインの100に移動しオートテクスチャスペースの位置をこのように上から0.02 -0.02  0.02に変えました。そこでもう一度数字の上でi(アイ)キーフレームを打ちます。この数値でテクスチャを移動させているのですが、オブジェクトの大きさによって動きやテクスチャの様子が変わってくるので、試行錯誤が必要です(そこが弱点?)

これでレンダリングすれば一応アニメーションとして動くのですが、このままだと動き方がだんだん早くなり、最後は遅くなる…という緩急が付いてしまってますので、一定の動きにします。下画面をグラフエディターにします。見づらいときは3Dビューと同じく拡大縮小などで見やすくしてください。線がゆるやかな孤になっていると思いますので、とりあえず、Aですべて選択し、下メニューのキー>補助ライン>リニアにします。これで線がまっすぐになり、動きも一定になったはずです。

rinia

これでMPEGなどでアニメーションレンダリングで完成です。

ちなみに同じパラメータでオブジェクトの大きさだけかえたもの

すごく長くなってしましました;他に水面を作るやり方はたくさんあると思いますが、間違ってることなどありましたらお教えいただけると助かります。

Tweet about this on TwitterShare on FacebookShare on Tumblr

3 thoughts on “Cyclesで水面のアニメーションを作る(テクスチャ版)

  1. 水面を作ることができました。ありがとうございます。
    最後のビデオのモンキー顔ですが、綺麗なので気になりました。外部テクスチャを使っているのですか?

  2. ちょっと情報が前のものかもしれませんが、ご覧頂きありがとうございます。
    大分前に作ったので、記憶が曖昧ですが;テクスチャは使わず、マテリアル設定だけだと思います。

  3. サイトがずいぶん長い間更新されていませんので、返信もらえないと思っていました!ありがとうございました!「石 blender」で作り方を探してみます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>