【Unity】ディゾルブシェーダーを作る
shamimatsu
三味松ブログ
以前にAmplify Shader Editorで頂点カラーで塗り分けるブレンドシェーダーを作成しましたが、今回はより実用性の高い溝だけ強調されるブレンドシェーダーを作り方を紹介します。ハイトマップブレンドと呼ばれる事が多いですね。
ノードベースでシェーダー作成ができるツールです。
unityが無料で提供しているシェーダーグラフがあるのに対し80ドル(税別)とお高めですが仕事で使わせてもらって以来気に入って家でも使っています。
年に数回あるセールを狙えば半額ぐらいまで安くなる可能性はあります。
情報がまだまだ少ないので何かあれば書いていきたいです。
今回もunityのPackage Managerからインストールできる「polybrush」を使いました。
今回はSubstanceDesignerで床石、苔、マスク画像を用意。
テクスチャをご自身で作るのが面倒な場合は textures.com が便利です。
ダウンロードするには会員登録が必要です(無料)
HeightMap Texture Blendという専用ノードが用意されています。
公式wikiにノードの説明があります(英語)
HeightMap Texture Blend Node
新規でマテリアルを作成して先ほど作ったシェーダーを割り当て、テクスチャをアサインします。シェーダー名は HeightMAPShader にしています。
planeを作成し、マテリアルをアサインして polybrush で頂点カラーモード(三角形マーク)で塗るとブレンドできます。白で塗ると塗りつぶし状態になるのでグレイで塗ると良い感じに溝だけコケが塗られると思います。