现实生活中水是由氢与氧构成的。然而在Unity里头, 水又是由哪些东西构成的呢?下面我们来看蓝鸥Unity3D培训教程:Water真实水的设定技巧。
有很多不同的水类型您可以创建, 或是直接使用prefab. 为了要展现最新的水特效与脚本, 我将专注于Water4ExampleSimple assets这个场景资产, 基本上它内含几个3D meshes, 用来表现您水面效果。
WaterTile script
Water shader
一个空物件, 用来表示水放置的位置, 并带有:
一个水脚本 把颜色 法线贴图与主要参数暴露出来
一个反射脚本
一个lighting脚本 用在高光特效
一个displacement脚本
最简单的方法是把把prefab拖到场景里面 指定您的cutom mesh
Assets > Import Package > Water (pro only)
在project window里头开启Standard Assets > Water (Pro only)资料夹,开启Water4资料夹,把Water4Example (Simple) Prefab拖曳到场景里面,选取其中一个tile meshes 到mesh component>点击右边的target icon 选取您的mesh (这个mesh必须要在你专案里面),如果你的mesh角度不对的话, 旋转Water4ExampleSimple parent node 90度角,藉由移动parent node来移动您的mesh,移除第二的tile mesh。
设置
一旦你设定好mesh, 你就可以开始调整参数了,选取Water4ExampleSimple node, 在inspector检视参数。
Water Base:这个脚本的功能是用来启动或是关闭即时的平面反射效果(planar reflections), 这个是根据parent mesh的高度来计算的, 所以child meshes的自身Y轴位移应该是0, 这个参数也可以让你启动skybox来源的反射效果。
Gerstner(孤立波) Displace:这个参数你可以设定根据孤立波产生的演算法产生波浪效果。
高光照明:你可以调整高光强度, 或是用拖曳的方式改变高光的来源. 这个来源可以是来自你的directional light或是场景中任何的物件, 不一定要是光源。
Unity3D Water真实水的设定技巧
在tile上使用蓝色与绿色, 对比使用灰色与粉红色。细微的特效, 比较能做出写实的幻觉.。
法线的滚动率(Scrolling speed of normals )
Reflection
Refraction
Fresnel 与 Normal strengths
Displacement
介绍一个实用的技巧: 把参数设为0, 然後慢慢增加数值, 直到调整到你想要的效果。
如果你的模型是凸面的(例如瀑布边缘), 在曲线的地方多加一点面数, 让水看起来有自然的弯曲效果。
水效果的小技巧:水会吸收红光, 然後反射出更多绿色与蓝色的光线. 而天空会让水呈现蓝色, 因此:最好不要直接把水表面的颜色设定为蓝色, 相反地, 你可以在水表面用绿色, 而水下面采用蓝色. 这样就能做出池塘感觉的幻觉了。而蓝色的颜色越深, 看起来水就越深. 你可以在水底部使用较深的颜色, 让refraction颜色更深。
通过阅读蓝鸥Unity3D培训教程:Water真实水的设定技巧http://sh.lanou3g.com/lozx/3080.html ,相信对Water真实水的设定有了一定的了解,如果您对蓝鸥Unity3D培训教程感兴趣,欢迎点击官方咨询。