見出し画像

【2024年記事+データ】blenderでminecraft影MOD目指して水のシェーダーを作りました。

こちら3年前に完成出来なかったけど今回リベンジして完成!!
blenderのマテリアルで水シェーダーを作ったデータを公開します。

作った水シェーダーの構造を説明します。

EEVEEでキレイに見える様に
メッシュの表面と裏面とで違う処理をしています。
・メッシュ全体に波歪みを入れています。
・表面は水面からみた様に見える屈折と反射のバランスを入れています。
・裏面は水中から見た様に見える屈折と反射のバランスを入れています。
・水を透過した影に集光現象を擬似的に入れています。
角度によって屈折してキレイに見えます。
標準のグラスシェーダーより透過した絵が色収差して少し分光しています。
また角度に応じて完全反射に変化します。
波打つとこんな印象です。
光を透過して落ちる影にコースティクスを擬似的に発生させています。


EEVEEの標準のグラスシェーダーや屈折して透過するシェーダーは光を通過させないので影はフラットになります。影をoffにして影なしには出来るのですがコースティクス的な影の中に光が屈折投射する事は出来ません。
そのため見た目が淡白になって少し物足りない処理になってしまいます。
影にコースティクスを発生させていますので水底に自動的にコースティクスの影が発生します。
他の利用方法として、水中側から光を上面に向けて発光させると水に反射した光を表現出来ます。

動画中盤の橋の下を通過する時に橋に光が反射しているのは水中に設置したライトの影が光ってみえています。

こちらが水のシェーダーのみ切り出したデータです。
マイクラのモデルデータは含まれていると再配布する事になってしまいますので、水の処理だけ用意しています。試してみてくださいませ!!
好きに使ってくださいませ!!!

内容の説明もしておきます。

こちらが水のシェーダーです。
外からでもよく使うパラメータを変更出来ます。
tabキーて入れます。中身はこんな感じで用途ごとに分けてあります。
こちら波の歪み制御です。
サイズと移動をシェーダーセットの外側の数値入力から変更出来ます。
水面の処理です。色収差用にRGB分解して屈折率を変えてます。
全反射部分とフレネルで分けてます。
cyclesで処理したら水面の全反射が割とカリッと出ている方が綺麗かったので
全反射効果を増幅して繋いでいます。
水面の反射はEEVEEの場合「ライトプローブ」の「平面」を使って反射を作るとよりリアルになります。
ライトプローブの平面を追加して
水面の位置に合わせてサイズも必要サイズに拡縮します。
ライトプローブONと
ライトプローブOFFの違いです。
水中からの処理です。
屈折も全反射もそれぞれ色収差入れてます。
水中から水面の外を見ると屈折が強く、ある程度深く潜ると見えてる外の部分が発光してる
様な印象を強くしたかったので透過屈折してる所だけ増幅しています。

水中にボリュームシェーダーで霧を追加すると雰囲気を演出しやすくなります。

ボックスの中にボリュームシェーダーを追加している。
追加せずにそのままの処理です。
ボリュームシェーダーはマテリアルの出力を「ボリューム」に繋げば出来上がり
水中にボリュームシェーダーを入れてカメラから離れるほど視界が悪くなる+光のカーテンを発生させています。
ボリュームシェーダーが入ってないとくっきり遠くまで見通せるので水中感があまり出ません。
さっきの水面処理と水中処理をメッシュの表と裏にそれぞれ配置して
最後に透過する影とコースティクスを作ります。
ライトパスのシャドウレイを判定に使うとメッシュが光を透過するしない関係なく
影を設計できます。
そこに影を配置するんですが、影は有るか無いかで設計しています。
擬似的に作っているので本来コースティクスの集光している所は光が強くなるのですが
これは影を削っているだけなので一番明るい所は影な無いというだけです。
もし集光している所を明るくしたい場合はメッシュの向かい側にライトを置いて発光させると
光ってみます。(光ってるんですけど)
中に光を入れると影と相まってコースティクスっぽくなります。
tabキーでcaustics_01の中に入ります。
こちらがコースティクス処理の中身です。
これはボロノイテクスチャを使って作っています。
この処理がけっこう重いです。
軽い処理版も入れてます。可愛いヒョロヒョロした線画出ます。

以上です。最後まで読んで頂きありがとうございました。
3年も前に作っておいて放置してしまいましたが、整えて綺麗にしたので使えると思います。
触ってもらえると嬉しいです。

minecraftの影MODの様にしてみたいという欲求から始まったんですが
やってみて光学の仕組みがすごく勉強になりました。
光と影を演出すると言いながら光のことをあまり解ってませんでした。
仕組みを知ると楽しくなっていきます。また実験していきます!

この記事が参加している募集

#再現してみた

1,777件

この記事が気に入ったらサポートをしてみませんか?