CHAPTER 6 Unity3D水系的制作
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 6-3 游戏中的喷泉效果
早期的三维游戏场景制作缺乏像现在这样强大的游戏引擎支持,水面 都是在三维软件中利用模型和贴图制作出的效果,在制作中通常会用到两层 Plane 面片模型,下面一层添加水体基本色调的贴图,上面再加上一层半 透明的水波纹 Alpha 贴图,这样就形成了水面的基本效果,分别调节上下 两层模型贴图的 UV 动画,这样就制作出了流动的水面效果,如图 6-4 所 示。
图 6-4 利用三维软件制作水面的方法
虽然通过贴图的方式能够模拟出水面的基本效果,但这是远远不够的, 因为现实生活中的水面除了水纹和透明的效果外,还应当具有凹凸起伏、 反射、折射等自然物理特征。
所以在游戏引擎技术出现以后,这种简单利用 Plane 制作的水面很 快就被淘汰,取而代之的是利用引擎和程序计算生成的物理学拟真水面, 也被称为“菲涅耳”水面,这种水面不仅具有高度真实的反射和折射效果, 而且在凹凸感、流动性以及与其他物体接触的特性上都有质的提升,这就 是现在三维游戏场景平面水体效果制作的主流手段,如图 6-5 所示。
图 6-12 制作完成的水面效果
瀑布是三维游戏场景中常见的水体形式,也是应用最为广泛的动态水 系之一,多应用于野外自然环境以及建筑园林、广场等场景中。在 Unity 引擎编辑器中实现瀑布效果主要有两种方法,一是利用面片模型和贴图 UV 动画来制作,二是利用 Unity 引擎的粒子系统制作高度逼真的动态瀑布效 果。
动态水系是指游戏中运动的水体,包括湍流、瀑布、喷泉等(见图 6-2), 在游戏制作中动态水系往往包含自身的动画,一般都是在三维软件中利用模型 来制作,同时需要结合粒子特效共同完成整体效果,在如今很多游戏的制作中 也会出现完全利用引擎粒子特效来实现动态水系效果的情况。
图 6-2 游戏中的动态水系
自然水系是指游戏自然场景环境下的水系,通常就是游戏野外场景中的 水系,如江河湖海、天然瀑布等。人工水系是相对自然水系而言的,指存在 于人文环境中的水系,如园林瀑布、景观喷泉、人工池塘等(见图 6-3), 多应用于建筑场景当中。
李瑞森 王至 吴慧剑/编著 李若梅/主审
6.1 Unity引擎水面的制作 6.2 瀑布效果的制作 6.3 喷泉效果的制作
水系是游戏场景制作中的一个重要内容,也是场景自然元素的重要构 成部分,游戏场景中的水系是指游戏中所有水体的集合,我们可以从水体 形式和应用环境两个方面来进行分类。从水体形式来区分,大致可分为静 态水系和动态水系,从应用环境来区分,又可分为自然水系和人工水系。
图 6-9 调整水面大小
接下来我们对水面参数进行进一步设置,Inspector 面板下的 Mesh Renderer 窗口可以设置水面是否投射阴影(Cash Shadow)和接受阴影投 射(Receive Shadow)。在 Water(Script)选项窗口中可以对水面的 特性进行设置,如图 6-10 所示。
图 6-11 Texture Size 不同参数设置对比效果
这里我们将 Water Mode 设置为 Reflective 反射模式,单击工具 栏的播放按钮,利用游戏视图近距离观察水面效果,如图 6-12 所示, Unity 引擎的菲涅耳水面无论在物理特性、凹凸质感还是流动性方面效果 都非常出众。
静态水系是指没有定向流动的平面水体,在游戏场景中大到江、河、 湖、海等水体平面,小到池塘、水井、水缸中的水平面都属于静态水系的 范畴。在早期的三维游戏制作中静态水系都是由三维软件来制作,随着游 戏引擎技术的发展,现在游戏场景中的静态水系都是直接由引擎来完成的, 效果如图 6-1 所示。
图 6-1 游戏引擎制作的水面效果
图 6-10 水面特性参数设置面板
Water Mode 可以选择水面的类型:Simple为没有物理拟真效果的简单水 面效果;Reflective为反射水面类型,侧重于水面的反射效果;Refractive 为折射水面类型,侧重于水面折射效果。Texture Size 用来设置纹理尺寸, 其ห้องสมุดไป่ตู้终效果会影响水面的反射或折射细节,尺寸设置越大水面反射或折射效果 越精细,锯齿感越弱,如图 6-11 所示,我们可以看到左图对比右图有明显的 锯齿感。Clip Plane Offset 用来设置反射或折射影像的偏移效果。
图 6-5 极具物理真实度的菲涅耳水面
Unity 引擎可以利用脚本制作出效果优秀的菲涅耳水面,在 Unity 预 置资源中已经为我们提供了 Water(Basic)和 Water(Pro)的资源包,可 以在新建项目的时候进行导入,或利用引擎编辑器 Assets 菜单下的 Import Package 选项来导入,如图 6-6 所示。
图 6-6 在 Unity 引擎编辑器中导入预置资源
首先在引擎编辑器中创建一块地形区域,利用拉升 / 凹陷地形绘制工 具在地形上制作出凹陷的水塘效果,如图 6-7 所示。
图 6-7 制作凹陷地形
接下来在Project项目面板顶端的资源搜索框中搜索 water,搜索结果列 表会显示当前项目中存在的所有水系资源,其中菲涅耳水面资源有四种,分别 为Daylight Simple Water、Daylight Water、Nighttime Simple Water 和 Nighttime Water。其中 Daylight 为白天使用的水面效果,Nighttime 为夜间水面效果,Simple Water 为没有物理拟真效果的简单水面效果,其他 两种可以进行真实的物理设置,这里我们选择 Daylight Water,如图 6-8 所示。
图 6-8 创建 Daylight Water 水面
默认创建出的水面面积很小,可以在 Inspector->Transform 面板 下对齐 Scale 缩放参数进行设置,我们将 X 和 Z 的缩放参数由原来的 16 设置为 120,同时将水面移动放置在合适的位置,水面要覆盖住整个水 塘,水面与地形穿插处不能出现漏缝,如图 6-9 所示。