使用Unity制作逼真的海湾场景
本文由来自荷兰的开发者Djordy Donopawiro分享使用Unity制作宁静的海湾场景,包括:地形制作、自然资源、光照等方面的内容。
本项目使用Unity 2018制作,使用了高清晰渲染管线HDRP、Timeline,Shader Graph着色器视图、Post-Processing Stack后期处理特效包等。
项目简介
来自荷兰的Djordy Donopawiro,虽然是一名大学三年级的学生,但是他已经有了十年之久的游戏和3D环境开发的经验。他擅长使用3ds Max和Unity进行建模,创作了大量的项目。
一次偶然的过程中,他遇见一个名为《Bloody Moors》的游戏模组。模组中所营造的环境让他心生向往,开始思考如何以自己的方法实现类似作品,于是有了本文中使用Unity创作非常逼真的宁静海湾的环境作品产生。
地形
我在Pinterest上看到了下面的图片,非常喜欢图中景观的组成,道路的曲线和旁边的水面,于是这定下了整个创作方向。
在地形制作方面,我开始想全部使用Unity地形系统制作整个场景,但最终发现需要好几块地形,这导致效率很低。于是我想到了结合网格和地形。
首先是玩家会行走的主地形部分,我在Maya中制作了网格。因为Maya可以让我更好地控制景观的形状,方便我添加道路、篱笆和高压线。
由于是网格而不是地形,我必须制作一个能够混合不同材质的着色器,让网格上的材质可以变化。然后把Maya里网格导入Substance,制作基于角度和高度的一种用于纹理混合的贴图Splatmap。之后,再绘制上了一些细节。
下面是网格制作的一些过程。
在主地形周边,我们使用了一个比较简单的网格,加入了一些高度信息来表现丘陵,进行重拓扑处理并导入到Unity。
我试着把这个网格放置“正确”的位置,但这样显得背景特别平坦。因此我开始调整网格,改变大小等数据,直到合成效果满意为止。
我一直重复使用大量的资源和纹理,像是在背景里用作岛屿的大量石块,只是经过了不同的缩放而已。
资源
对于这个项目,我不希望在资源制作上花费太多时间,因此大多数模型都不是高多边形的,除非特别必须,例如汽车轮胎。
我使用ZBrush雕刻石块,在Maya中进行重拓扑,并在Substance Painter中制作纹理。
植物
在项目开始的时候,我收集并扫描了各种不同类型的草叶等植物样品,起初是想把它们用作场景里的资源,但最终只是作为了一种参考。
所有植物都是手工绘制的,然后和地形一样,我使用Shader Graph着色器视图制作了相应的着色器,以确保植物看上去更为自然。
我基于世界位置添加了颜色的变化,基于顶点颜色添加了风的吹动效果。
光照
在白天的场景中,我使用了一张阴天的HDRI高动态范围成像,并结合淡淡的定向光和雾化效果来制造深度。定向光的颜色偏暖,位置较低,以重现像日出日落“黄金时刻”那样的光照场景。
为了获得更自然的外观,我通过颜色分级中的光照降低颜色饱和度来调色。最后为最终图像添加深度:颗粒、泛光、晕影、色差和自动曝光。
如下图所示,进行过后期处理前后的对比图。
在夜间场景中,我使用了程序化天空盒,结合体积光照和用作月亮的定向光。
夜间光照非常弱,环境全由坠落物体在大气燃烧发出的光点亮。坠落物体带有点光源,我在Unity的Timeline中制作动画以创建它的闪光效果。
冲击波引起了汽车的闪光及警报声,可以很好地引导了玩家在关卡中前进。
挑战
在制作整个项目中,我没有机会亲临图片拍摄地,无法感受它的氛围并亲自观察环境细节,只能在通过观察图片来解读环境。
所以如何抓住环境中每个位置与地点的感觉再进行各种调整,让玩家感觉身临其境,这是一项非常整个项目中最大的挑战。
小结
使用Unity制作宁静的海湾场景的制作经验分享到这里,我们希望Unity社区涌现出更多Made with Unity的精品项目。
更多Unity精彩技术经验分享和谈论,尽在Unity Connect平台(Connect.unity.com)。
推荐阅读
官方活动
Unite Shanghai 2019
5月10日-12日上海,Unite大会强势回归。技术门票正在热销中,购票即获指定Asset Store资源商店精品21款资源的5折优惠券。
购票请访问:Unite2019.csdn.net
点击“阅读原文”访问Unity Connect