![見出し画像](https://assets.st-note.com/production/uploads/images/145271349/rectangle_large_type_2_37fec535c4bc7838bb3acd800d037e02.png?width=800)
【2024年記事+データ】blenderでminecraft影MOD目指して水のシェーダーを作りました。
こちら3年前に完成出来なかったけど今回リベンジして完成!!
blenderのマテリアルで水シェーダーを作ったデータを公開します。
作った水シェーダーの構造を説明します。
![](https://assets.st-note.com/img/1719393861548-Tifn4c6Bbr.png?width=800)
メッシュの表面と裏面とで違う処理をしています。
・メッシュ全体に波歪みを入れています。
・表面は水面からみた様に見える屈折と反射のバランスを入れています。
・裏面は水中から見た様に見える屈折と反射のバランスを入れています。
・水を透過した影に集光現象を擬似的に入れています。
![](https://assets.st-note.com/production/uploads/images/145271995/picture_pc_f26c0e2e5fda202746871aff414003cb.gif)
標準のグラスシェーダーより透過した絵が色収差して少し分光しています。
また角度に応じて完全反射に変化します。
![](https://assets.st-note.com/production/uploads/images/145278068/picture_pc_061f7fd1c23fbe2285248dd9d557d469.gif)
光を透過して落ちる影にコースティクスを擬似的に発生させています。
EEVEEの標準のグラスシェーダーや屈折して透過するシェーダーは光を通過させないので影はフラットになります。影をoffにして影なしには出来るのですがコースティクス的な影の中に光が屈折投射する事は出来ません。
そのため見た目が淡白になって少し物足りない処理になってしまいます。
![](https://assets.st-note.com/production/uploads/images/145279110/picture_pc_aea4f6b4fbe0e17ed11684b08de62242.gif)
他の利用方法として、水中側から光を上面に向けて発光させると水に反射した光を表現出来ます。
動画中盤の橋の下を通過する時に橋に光が反射しているのは水中に設置したライトの影が光ってみえています。
こちらが水のシェーダーのみ切り出したデータです。
マイクラのモデルデータは含まれていると再配布する事になってしまいますので、水の処理だけ用意しています。試してみてくださいませ!!
好きに使ってくださいませ!!!
内容の説明もしておきます。
![](https://assets.st-note.com/img/1719399546787-XL6Uv7m0g9.png?width=800)
外からでもよく使うパラメータを変更出来ます。
![](https://assets.st-note.com/img/1719399717350-ciAo2tQDwm.png?width=800)
![](https://assets.st-note.com/img/1719401923995-M3QdHxt7aI.png?width=800)
サイズと移動をシェーダーセットの外側の数値入力から変更出来ます。
![](https://assets.st-note.com/img/1719402029658-PuBhtdthib.png?width=800)
全反射部分とフレネルで分けてます。
cyclesで処理したら水面の全反射が割とカリッと出ている方が綺麗かったので
全反射効果を増幅して繋いでいます。
水面の反射はEEVEEの場合「ライトプローブ」の「平面」を使って反射を作るとよりリアルになります。
![](https://assets.st-note.com/img/1719402905705-HcxSFwAuWk.png?width=800)
![](https://assets.st-note.com/img/1719402930651-dyIrAKEeL4.png?width=800)
![](https://assets.st-note.com/img/1719403043036-9I4UyqXpDF.png?width=800)
![](https://assets.st-note.com/img/1719403083648-CoknEA9yyO.png?width=800)
![](https://assets.st-note.com/img/1719402217797-DYA0ahIrzc.png?width=800)
屈折も全反射もそれぞれ色収差入れてます。
水中から水面の外を見ると屈折が強く、ある程度深く潜ると見えてる外の部分が発光してる
様な印象を強くしたかったので透過屈折してる所だけ増幅しています。
水中にボリュームシェーダーで霧を追加すると雰囲気を演出しやすくなります。
![](https://assets.st-note.com/img/1719403330539-fZJKT6RABK.png?width=800)
![](https://assets.st-note.com/img/1719403346707-rNzNKIfaPH.png?width=800)
![](https://assets.st-note.com/img/1719403622018-DdG0NV3UQp.png)
![](https://assets.st-note.com/img/1719403686615-Zigwpmwwqe.png?width=800)
![](https://assets.st-note.com/img/1719403693703-i6JZSzyHLK.png?width=800)
![](https://assets.st-note.com/img/1719403833042-O0MOupAbXO.png?width=800)
最後に透過する影とコースティクスを作ります。
ライトパスのシャドウレイを判定に使うとメッシュが光を透過するしない関係なく
影を設計できます。
そこに影を配置するんですが、影は有るか無いかで設計しています。
![](https://assets.st-note.com/img/1719404187002-n51BxVyNde.png?width=800)
これは影を削っているだけなので一番明るい所は影な無いというだけです。
もし集光している所を明るくしたい場合はメッシュの向かい側にライトを置いて発光させると
光ってみます。(光ってるんですけど)
![](https://assets.st-note.com/img/1719404706325-JDwcjLiCjs.png?width=800)
![](https://assets.st-note.com/img/1719404777182-6ssrQsGW6N.png?width=800)
こちらがコースティクス処理の中身です。
これはボロノイテクスチャを使って作っています。
この処理がけっこう重いです。
![](https://assets.st-note.com/img/1719404969437-UBXZrDIY8f.png)
以上です。最後まで読んで頂きありがとうございました。
3年も前に作っておいて放置してしまいましたが、整えて綺麗にしたので使えると思います。
触ってもらえると嬉しいです。
minecraftの影MODの様にしてみたいという欲求から始まったんですが
やってみて光学の仕組みがすごく勉強になりました。
光と影を演出すると言いながら光のことをあまり解ってませんでした。
仕組みを知ると楽しくなっていきます。また実験していきます!
この記事が気に入ったらサポートをしてみませんか?