1. 首页菜单

unity 3d water fountain

2015年01月18日 10:14 0 点赞 0 评论 更新于 2025-11-21 14:39

在 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 特效,这样能实现水花四溅的效果,你可以尝试一下。最后附上一张完整的效果图(此处可插入完整效果的图片)。