简单的水面模拟
主要思路
①通过GrabPass获取屏幕图像, 模拟折射
②通过环境纹理–Cubemap, 模拟反射
③菲涅尔系数,Time.y
④对屏幕纹理进行偏移,来模拟水下效果
主要代码
Shader "Unlit/water"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {
}
_Color ("Main Color", Color) = (0,0.15,0.115,1)
_WaveMap("Wave map", 2D) = "bump"{
}
_CubeMap ("Environment Cubemap", Cube) = "_Skybox"{
}
_WaveXSpeed("Wave Horizointal Speed", Range(-0.1,0.1)) = 0.01
_WaveYSpeed("Wave Vertical Speed", Range(-0.1,0.1)) = 0.01
_Distortion ("Distortion", Range(0,100)) = 10
}
SubShader
{
Tags {
"Queue"="Transparent"