范例效果如下:
河水由两部分组成,他们分别是:
- 河水
- 岸边
河水的配置
河水
将河水的材质球Shader指定为“OrientalSky/Water”——这个Shader除了能够实现水面的材质效果,还一定程度上缓解了Z-Fighting的问题
河水Mesh不能和地面的Mesh完全重合,至少要比地面稍微高一点点,否则在相机距离河水很近时会出现Z-Fighting
河水Mesh上需要一套0号UV,用于贴一张控制水面颜色的纹理(Base (RGB) )
材质设置
范例纹理和参数设置如下图所示,可以先复制下图所示的材质球改名并替换掉自己制作的场景的河水材质再进行参数微调或者替换纹理。
注意河水完全不受场景中的光照和地形的Lightmap影响
需要美术人员经常调整的材质参数包括:
- Base (RGB) ——水面的底纹,当摄像机垂直观看水表面时看到的纹理
- Diffuse Color——水面由于不受场景的光照影响,需要美术人员手动调整这个数值以便达到合适的水面亮度及颜色
- Specular K、Specular Color、Shiness——高光相关的控制参数,类似3DS Max中的同名参数
- Fresnel Exp、Fresnel Bias——“控制反射 vs 折射”的菲涅尔系数。Exp和Bias越高,水面越容易反射,否则产生折射
- Refelection Color——环境反射图的颜色控制
- Eviroment Reflection——环境反射的Cube Map图
河岸的配置
河岸
将河岸的材质球Shader指定为“OrientalSky/Water”
河岸的Mesh可以同水面完全重合,但是要比下方的地面稍微高一点,否则在相机距离河水很近时会出现Z-Fighting
和岸直接受到场景的光照以及Light Map影响,所以不用额外调整Main Color参数
为了追求更好的效果,为场景建模时建议在地块上挖出河床(只在几何体上挖出坑,不用额外处理纹理),然后将河岸做成倾斜的,其中一部分直接插到河水的Mesh下方。由于Shader中做了特殊处理——河岸绝对会渲染在河水的上方。所以能产生河水有一定深度的错觉。如右下图所示(河岸右侧应该是贴着地面,这里仅作为演示没有处理)
河岸受场景光照和地形LightMap的共同影响
时间: 2024-10-05 04:40:40