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,然后将其拖动到平面上。此时,水面效果应该就已经完成了。

你可以尝试改变 FresnelNormalmap 的图片,以及 Wave speed 的数值,观察不同的效果。实际上,在 Water(Pro Only) 资源包中,已经为我们提供了两个现成的材质,分别是 Daylight WaterNighttime Water,你可以直接使用并体验效果。

瀑布的制作

瀑布是使用 Unity 的粒子特效制作的。具体的制作细节这里就不多讲了,因为已有大神讲解得很详细,你可以参考 Unity3D 学习笔记 5。下面展示一下瀑布的设置面板(此处可插入设置面板的图片)。

调大 Max Size 可以使瀑布更宽,调大 Max Energy 可以使瀑布更长,因为这会延长粒子的生命周期。另外,我在瀑布与水面的交界处添加了 Unity 自带的 Water Surface Splash 特效,这样能实现水花四溅的效果,你可以尝试一下。最后附上一张完整的效果图(此处可插入完整效果的图片)。

作者信息

boke

boke

共发布了 3994 篇文章