![見出し画像](https://assets.st-note.com/production/uploads/images/132262443/rectangle_large_type_2_a27b78aac43d234052ff7010dcae3921.png?width=1200)
【Irisy Aqua】水面シェーダ3
どうも一週間ぶりです。
Otorakoboです。
今回も水面シェーダの続きです。
少し進展があったので、書き留めておこうと思います。
ヒントになったのは一度物理現象に立ち返って考えたことです。
水面を構成する物理現象を一度考えてシェーダを用意し、その後でデフォルメしていきました。
なので、まず水面のみなもをそれっぽくするNormalマップを展開。
そのスペキュラの発光部分にのみ色を付けて見ました。
それが↓
![](https://assets.st-note.com/img/1709036969527-RhcajzAJ5C.png?width=1200)
ただ、Normalマップは光の角度、カメラ角度で大きく発光度合が変化するので制御しづらくもありました。
![](https://assets.st-note.com/img/1709036982631-koxcPTNvwK.png?width=1200)
![](https://assets.st-note.com/img/1709036983242-XMxaCPwYIa.png?width=1200)
そこで、どうせ部分的な発光にするのなら、スペキュラマップで色をマスクし、ライトマップテクスチャをUVスクロールすることで屈折を表現すれば処理も軽くなってハッピーになると考えて
![](https://assets.st-note.com/production/uploads/images/132262590/picture_pc_e54c00342c70854716226c21ed6b755b.gif?width=1200)
こんな感じになりました。
おおよそまとまってきたので、ゲーム画面へドッキングしたのですが、マップの動的生成と輪郭テクスチャの合成がすこぶる相性が悪かったため、輪郭をテクスチャからエッジ抽出シェーダに変更しました。
それがこちら
![](https://assets.st-note.com/img/1709037009538-4JhmYBL0eN.png?width=1200)
それっぽくなってきたんですが…
フラット感やら直線ベースのところがクォリティに達しておらず、この作戦自体がちょっと微妙ではないかと指摘を受けてしまいましたorz
ただ、色の境界面はばっちりなので、境界線と水面を別で計算するとか、この上にエフェクトを載せて環境マップを適用するとかそういう方向で攻めようかとアートとお話していました。
とまぁ、今週はここまで。
来週は水面の続きか、もしくはキャラクタのモデル紹介のどちらかができると良いと思っています。
それでは!