【Unity Shader实例】 水体WaterEffect(四) 水的反射 |
您所在的位置:网站首页 › unity制作水中浪花 › 【Unity Shader实例】 水体WaterEffect(四) 水的反射 |
Unity Shader实现水体的镜面反射效果
平静的水面会像镜子一样映射出周围的景致(光的反射)。 前面我们用视线向量的反射向量对天空盒的CubeMap纹理采样,模拟出了这样反射效果。但这种基于CubeMap反射效果的环境映射,并不是“真”反射,只是“模拟”环境反射,是“假”反射。如果我们改变了环境的天空盒子,物体的纹理并不会跟着改变,且不会反射出环境中的其他物体,只能反射天空盒子。 接下来我们介绍一种非常消耗性能的水的真反射实现方法。 效果展示将水的反射从基于CubeMap的“假”反射改为镜面“真”反射,就可以映射出环境中的所有物体(包括天空盒和场景中其他物体),但这样做的性能消耗非常大,因此可以根据设备的具体情况来选择水的反射实现方案。 至此,我们实现了水的反射效果。但水的效果还不够真实,它既没有对水下物体的折射,也没有真实水面的起伏波浪,当水中有物体时也不会在水与物体交界处产生浪花等等。这些效果,我们会来后续的文章中继续讨论。 附:配套Unity3d工程下载地址 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |