[特效] 在Unity中创作龙卷风特效

查看:4948 |回复:3 | 2019-11-20 14:19:24

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 kanisen 于 2019-11-20 14:24 编辑

今天我们将由法国的开发者Maxime Catel介绍如何在Unity中创作龙卷风特效。

20191120-142357.jpg




龙卷风项目

这个龙卷风场景项目是为VFX Sketch挑战而创作,此次挑战的主题为龙卷风。二个月前我曾制作一个FPS游戏项目,里面就包含这类旋风效果,所以制作前我已经具备创作特效的灵感和技巧,此次我打算创作风格化龙卷风特效。

我的目标是使该特效让人印象深刻,它会是个庞然大物,当你看着它时,会感觉它会摧毁行进路径上的所有障碍。所以我决定制作一个旋转场景,使用轻型低角度摄像机来突出龙卷风的强大,它将成为游戏关卡中给玩家造成最大的威胁。

制作流程

首先我决定使用简单的网格。这些网格是经过修改的圆柱体,它们拥有普通龙卷风的形状以及合适的网格密度,能够产生良好的扭曲效果和顶点偏移。制作时比较困难的主要是着色器部分,因为动作、扭曲、颜色和形状都是由纹理和着色器控制。



在对龙卷风行为进行研究之后,我使用Shader Forge 开始制作着色器。首先,我使用一个非常模糊的平移噪声创建了网格的扭曲效果,它能够修改顶点偏移。该效果非常简单:纹理的颜色越白,网格中就有越多顶点互相碰撞。这一步给龙卷风整体动作带来了混乱无序的效果。



接下来,我要制作主纹理。我在尝试过程中发现:该龙卷风规模较大,必须为它加入细节,因为我不想让龙卷风看起来像过于简单。因此,我使用云噪声作为纹理的基础,通过加入抖动并调整等级给纹理添加密度。

使用这种方法,我的纹理开始看起来像尘土、沙粒或其它不稳定粒子的混合体,尤其是网格底部。该纹理让人感觉大量小型元素都被吸入龙卷风之中。



核心部分

我想为龙卷风制作特别的核心部分,为此我必须观察到核心效果。所以我为除了核心部分外的所有网格制作了溶解遮罩。然后添加更大的网格,例如:图层,为整个龙卷风增加体积。



核心部分由二个圆柱体网格组成:里面部分不受到溶解着色器影响,它拥有完全平坦的发射性浅蓝色,另一部分是相同的圆柱体,但是更大一些,带有溶解着色器和纯白色。它的目的是增强蓝色核心的效果,为其添加电磁和魔法特效,因为这不是一个简单的龙卷风,它是一个神秘的龙卷风。



我选择了亮青色处理核心部分,因为场景整体颜色比较暗,带有较多蓝色,所以我必须实现反差效果来吸引注意。发光部分由摄像机上的后期处理功能制作,它会影响整个场景。该效果在场景中非常重要,因为它突出了风格化和魔幻效果。





形成龙卷风外部的云由不同网格制作。它具有更夸张的龙卷风外形,顶部较大,底部较薄。我使用溶解着色器创建出透明效果,并在网格底部用黑色绘制顶点Alpha,从而使纹理在淡化时避免出现奇怪的轮廓。



为了避免在溶解时出现重复平铺,我混合了二个不同的高密度噪声,其中一个噪声移动速度较快。该方法很不错,能实现很多特效,不仅用于自定义网格,还可以用于尾迹和火焰。通过该方法,这样云的形状就不会千篇一律了。





旋转效果是通过简单的UV技巧实现的。我的纹理会向一个方向不断平移,因为网格本身是扭曲的,所以纹理会跟随边缘的流动。

龙卷风结构

龙卷风由不同图层组成,这些图层使用不同数值来调整。例如:图层中纹理的平移速度不同,外部网格拥有较慢的平移速度,内部网格拥有较快平移速度。它使整个龙卷风具有动态效果,避免让人感觉单调,这是各图层运动之间的协同效果。

另一个例子是着色器中的色调纹理。我使用了另一种密度较小且模糊的的云噪声,该噪声与颜色相乘,从而在纹理上实现不同的颜色区域。该噪声主要用来实现浅紫色的着色,有助于混合不同纹理和网格。



我们可以将所有网格图层和渐变效果进行对比,该渐变开始时带有发光核心,结束时带有逐渐淡化的深色云。

我必须多次调整每个图层上的平移数值,从而得到合适的全局动作。如果龙卷风旋转速度过快,会失去巨型龙卷风的感觉,如果它旋转速度过慢,会让人感觉没那么危险。

最后加入场景的元素是天空盒。天空盒由简单的云立方体贴图制作,在特定部分带有遮罩。我为遮罩的强度设置了动画,使其看起来就像闪电。



组合

最后,龙卷风终于完成了。龙卷风各部分的结合是一步步实现的,所以我可以轻松考虑每个新步骤并了解项目进展。

现在,我需要拍摄出漂亮的龙卷风镜头。该场景是为龙卷风所作,但我也可以在游戏中使用该资源。整体上说该龙卷风的优化还不错。纹理效果挺好,虽然网格密度较高,但该对象也很大,所以该资源有足够的预算。



唯一的问题在于,后期处理效果是为龙卷风而设计的,它不适合在整个游戏中使用。所以之后需要对龙卷风颜色和着色器进行调整。





评分

参与人数 2元素币 +40 活跃度 +42 展开 理由
空空山新雨后 + 30 + 30 【诚意】很有诚意的内容,获取额外奖励
源支始 + 10 + 12

查看全部评分

2019-11-20 14:19:24  
 赞 赞 0

使用道具 登录

3个回答,把该问题分享到群,邀请大神一起回答。
2#
厉害了大佬
回复 收起回复
2020-12-16 13:53:03   回复
 赞 赞 0

使用道具 登录

3#
这个不错 感谢分享
回复 收起回复
2024-12-4 14:20:20   回复
 赞 赞 0

使用道具 登录

4#
回复 收起回复
2024-12-4 14:20:32   回复
 赞 赞 0

使用道具 登录

CG 游戏行业专业问题

手机游戏引擎手游引擎Unity3D技术
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表