unity2018设置雾在哪_《Babel》项目技术整理:雾

本文介绍了在Unity2018中如何实现线性关卡的雾效,包括全局的ExponentialHeightFogVolume和AtmosphericFogVolume,以及分段颜色的距离雾。探讨了PostProcessMaterial的Fog问题,并分享了区域性的动态体积雾和优化策略,如使用体积雾材质替代粒子系统以降低Overdraw。同时提及了流体雾的模拟尝试,如Fortnite的流体雾和NvFlex在UE4的应用,但因性能限制未被采用。最后,讨论了雾效在游戏中的美学和实用价值。
摘要由CSDN通过智能技术生成

做为一个横版无缝加载的游戏, 线性关卡无疑会做得非常长.

e9edd6c1a5f0d6e5432669cac84d1fd2.png

像UE4的ExponentialHeightFog就是一个全局生效的Actor, 我们无法针对每个区域放置不同参数的ExponentialHeightFog, 这对于关卡美术来说是一个不可接受的事实. 所以我们参考PostProcessVolume, 实现了ExponentialHeightFogVolume和AtmosphericFogVolume, 可以在不同区域之间进行无缝插值过渡:

知乎视频​www.zhihu.com

对于距离雾, 也同样实现了分段颜色的距离雾, 比较容易调节远景氛围:

9d7cde8ae71ae5fb94514dbdf7c43ae2.png

9ee888719c38d816bb064c2423deb218.png
知乎视频​www.zhihu.com

PostProcessMaterial的Fog有个坑, 就是如果全局PPV没有这个Material的话, 插值时候的的默认值是材质的默认值, 当时美术一直奇怪为什么插值过程中会出现红色的雾...

当然中间也参考和评估过商城里的一个基于ColorCurve的后期距离雾实现

https://www.unrealengine.com/marketplace/en-US/slug/fog-gradients​www.unrealengine.com

ab3a3fbe8eb7f835775707dad2fd42b4.png
知乎视频​www.zhihu.com

虽然这个做法可以实现更加丰富的颜色过渡, 但是调节起来并不方便, 所以最终美术还是选了自己做的那个几个参数的简单实现.

除了全局雾效, 还有一些区域性的氛围雾, 典型的是这种一束光打下来的效果:

7acafbee64ebc80e4d91c656b9fdc05a.png

使用体积雾很容易实现, 但是yaoyao想要那中雾里看起来是动态的效果, 类似Fornite这种:

b2add48ee5568f0314743f29c0de3908.png

于是参考Ryan Brucks大神的文章

https://shaderbits.com/blog/ue4-volumetric-fog-techniques​shaderbits.com

实现出来了类似的体积雾材质:

知乎视频​www.zhihu.com

体积雾配合光照能够大大提升场景氛围的品质, 我觉得是场景间接光之外最重要的一个特性了, 我们甚至可以拿它来做云:

知乎视频​www.zhihu.com

后来在做优化时发现特效美术为了模拟烟雾缭绕的效果, 在场景中平铺了大片的粒子:

d1d25b51795bb39ac7d779615439ae2b.png

然后Overdraw就变成了这样:

bdea109cf9329e4f82fae5f82868f905.png

于是想到了使用体积雾材质来进行优化:

cd46e65c8e76a2cb15ae937b24d53e28.png

反正体积雾是一直开着的, 不用白不用, 使用一些VolumeMaterial进行局部的点缀性价比很高, 还没有OverDraw的困扰:

知乎视频​www.zhihu.com

另外还尝试过一些流体雾的模拟, 只是性能和效果没有调出令人满意的结果, 所以很遗憾没有用进游戏里. 不过这里也发两个心目中做得比较好的效果来做结尾吧, 后面有机会还会继续尝试的.

一个是Fortnite中用于Trailer的流体雾模拟:

20777f7dd79b9b3d6ab8a334fb415d54.gif
知乎视频​www.zhihu.com

尝试过RayMarching的实现, 对于游戏来说还是开销太高.

另一个觉得不错的是NvFlex在UE4中的应用, 可交互雾具备足够的视觉冲击力, 最近在《黑神话:悟空》中看到的云的模拟应该是类似的做法:

https://www.youtube.com/watch?v=0ZkcZjyXq0w​www.youtube.com

d2bc95a7b8fa494d6e7d79469a74ea92.png

最后来个题外话: 为什么游戏的雾那么浓? 还是不是因为穷, 美术资源细节有限, 需要靠雾来遮遮丑...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值