unity 3d water fountain
在 Unity 3D 中,关于地形创建的教程有很多,这里就不再赘述。但水的创建相关介绍相对较少,下面先展示一下最终效果(此处可插入相关图片)。
水的制作过程
1. 创建平面(Plane)
若要在特定位置创建水,需先创建平面。为避免出现穿帮现象,要先将地面下陷,再在上面铺设平面。若想让地形下陷,需在创建地形之初将其整体提升,因为地形的基础高度默认是 0,无法直接下陷。
我使用的是 Unity 3D 4.2.0 版本,设置地面基础高度的位置如下(此处可插入设置面板的图片)。我将其设置为 30,设置完成后,点击右边的“flatten”按钮使设置生效。需要注意的是,此操作一定要在创建地形之初进行,若后期再修改,之前制作的地形就白费了。以下是创建好的平面的图片(此处可插入平面的图片)。
2. 导入水的资源包
选择 Assets -> Import Package -> Water(Pro Only) 来导入水的资源包。由于我的 Unity 已破解,所以可以使用高级的水效果。
3. 给平面赋予水的材质
- 选择
Assets -> Create -> Material创建一个新的材质。 - 在材质的 Inspector 面板的 Shader 选项中,选择
FX -> Water。此时下方会出现水的属性设置。 - 在
Fresnel(A)中选择一张图片,我选择了库里的Water Fresnel;在Normalmap中选择一张图片,我选的是Water fallback(此处可插入设置的图片)。
4. 应用材质到平面
将上面创建好的材质拖动到刚建好的平面上。
5. 添加脚本到平面
在 Project 的 Water 资源包中找到 Water 脚本,路径为 Project -> Standard Assets -> Water(Pro Only) -> Sources -> Scripts -> Water,然后将其拖动到平面上。此时,水面效果应该就已经完成了。
你可以尝试改变 Fresnel 和 Normalmap 的图片,以及 Wave speed 的数值,观察不同的效果。实际上,在 Water(Pro Only) 资源包中,已经为我们提供了两个现成的材质,分别是 Daylight Water 和 Nighttime Water,你可以直接使用并体验效果。
瀑布的制作
瀑布是使用 Unity 的粒子特效制作的。具体的制作细节这里就不多讲了,因为已有大神讲解得很详细,你可以参考 Unity3D 学习笔记 5。下面展示一下瀑布的设置面板(此处可插入设置面板的图片)。
调大 Max Size 可以使瀑布更宽,调大 Max Energy 可以使瀑布更长,因为这会延长粒子的生命周期。另外,我在瀑布与水面的交界处添加了 Unity 自带的 Water Surface Splash 特效,这样能实现水花四溅的效果,你可以尝试一下。最后附上一张完整的效果图(此处可插入完整效果的图片)。