【撃猫魂】地形用シェーダーの作成

Unityのテラインってもひとつ融通が利かないんだよなぁ。

帯に短したすきに長し。

今回のゲームのようにある程度サイズが決まっている場合は、広さやメッシュの密度はコンパクトにしたい半面、テクスチャの質感やブレンドにはもう少し手をかけたい、ってことになるともうテラインは使えないって言うのが俺の現在の認識。

テライン使わない場合は、草や木の配置とか、草を風でなびかせたりなんかは自力でやらなくちゃなんないので、テラインで我慢してた。

けれども、今後新しいステージを作っていくことを考えると、やっぱりこのへんのサイズや質感のコントロールは柔軟に出来たほうがいいなということで、シェーダー組みました。

冒頭の画像は俺が組んだ地面用シェーダーのノード。

仕様としては、下記のとおり。

1.二種類のテクスチャとノーマルをブレンドできる。
2.頂点カラー(Rチャンネル)を使ってブレンドする。
3.カメラからの距離に応じてタイリングのサイズを変えてリピート感を緩和する。
4.ブレンド用のマスクを使って、テクスチャ同士をいい感じでなじませる。
5.頂点カラー(Bチャンネル)を使って指定した色を乗算できる(主に草影用)

これらの組み方は全てUE4向けの『マテリアルデザイン入門』の内容を、ShaderForge用に翻案して実装した。

レンダリング結果はこんな感じ。

20160401_1

静止画では解りにくいですが、遠くのテクスチャのタイリングのサイズが大きくなっていて、繰り返し感が緩和されていると思う。

あと、頂点カラーに沿って暗い色が乗算されている。この部分に草などを配置すれば、草自体の影を省略しても自然な感じになるんじゃないかと思う。

とりあえず、テラインはやめて地形についてはこのシェーダーをベースに置き換えていこうと思う。

それにしても、UE4版のテラインであるランドスケープだともうちょっと柔軟なことが出来るんだよなぁ。

この辺もUE4の方が優れているのよね。

About dezakinian 810 Articles
Miiverseで使用しているMiiのアカウント。 先日、思いきってMiiverseでこのサイトのことをこっそり告知したので作りました。 Miiverseからきてくれた方、ありがとう。 このサイトの中の人です。 こちらのサイトもよろしくお願いします。

Be the first to comment

Leave a Reply

Your email address will not be published.