[特效] 使用Unity制作类似Zelda的VFX

查看:2209 |回复:327 | 2023-8-19 09:52:45

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

x
QQ截图20180802182828.png
Gregory Silva  谈到了他与Unity和ShaderForge的实验,这些实验帮助他创造了类似于Zelda:The Breath of the Wild的惊人视觉效果。介绍
嗨,我是来自巴西的VFX艺术家Gregory。我26岁。我出生在马瑙斯,一个位于森林中间的城市,字面上。我有3年的游戏开发经验。
从小我就对视频游戏很感兴趣,不仅喜欢玩游戏,还喜欢创造一些东西。我曾经用RPG Maker和Lunar Magic做过一些实验。与此同时,我一直是我课堂上的艺术家。我很喜欢画画。
随着时间的推移,我开始上大学学习计算机科学。毕业甚至获得信息检索和机器学习硕士学位。那时,我正在担任系统分析师,开发Android内容。那时我正在工作的公司决定尝试制作游戏,而我就是那个可以同时编程和做艺术的人。
凭借非常低的预算和小团队,我们制作了一些非常简单的手机游戏,我开始制作我的投资组合。这让我有机会开始在一个大工作室工作,有超过40个其他游戏开发人员。我最初是一名游戏程序员,但我被介绍了一堆新东西,比如3D,游戏设计,动画和VFX。
我开始向新朋友学习。首先,我试着学习3D,它看起来很棒,能够模仿我自己的角色。但是我不想丢掉我从开发者体验中获得的所有东西。那是我发现VFX的全部内容。这是艺术与科技的完美结合,在那里我可以学到很多新东西。
当工作室的主要视觉特效艺术家宣布他将离开公司时,我有机会开始正式使用它。已经有1年了。这样做,我可以看到VFX真的是我的职业。
塞尔达传说中的视觉特效
塞尔达游戏从未像现在这样伟大。当我开始学习VFX时,来自E3的第一场比赛就出现了。我记得爆炸是如此引人注目,这些是我试图研究的第一件事。那时,我不知道该怎么做。

当我获得足够的粒子和着色器经验时,我再看看那些爆炸,他们看起来卡通化和风格化的方式是我想要融入我的工作中的东西。我也在考虑整体时间和它从核心点伸出的方式,但突然开始表现得像面对镜头的广告牌。我最终试图将这些事情复制为对自己的挑战。
使用Shader Forge
从草图中编写着色器需要花费一些时间,当您需要单独编写它们时,使用可视编辑器工具可以动态编译和测试着色器非常有用。
Shader Forge已经是我工作的工作室中使用的工具,所以我开始学习。但是什么使它成为一个很好的工具是编译后着色器代码的可读性。
有时我们会弄脏手做一些奇特的东西。通常,我们需要真正编写CG代码来实现一些效果,并且从图形编辑器中获取干净的代码是关键。


光束
在多次观看一些游戏画面后,我分析了原始效果纹理中使用的形状,并试图在Photoshop上复制它。它们基本上是圆形和星形/十字形。这是原始效果和我的粒子之间的比较:
GuardianBeamComparison.jpg

这些粒子大多是简单的标准Alpha Blended纹理,但我必须做一些更有趣的能量弧,里面有明亮的线条。为此,我在纹理alpha上使用了两个平滑步骤,一个具有稍大的最小值作为另一个,具有急剧衰减,然后从另一个中减去一个,同时使用来自粒子系统的顶点颜色信息来移动最小值。这些线最后添加到纹理颜色中。结果如下:
能量条纹使用另一个自定义着色器。它们使用具有曲线形状的简单几何体,并且我在不同的轴上交替缩放,并且旋转以创建变化。对于着色器,我使用自己的UV创建了一个蒙版来擦除边框,然后使用滚动噪声来蚀刻粒子,再次使用smoothstep和vertex颜色。
我发现了一种简单的光束形状解决方案。我使用具有比例动画的球体,仍使用粒子系统,战略性地定位,看起来像是朝向目标。对于定位,因为它仅用于视频,而不是用于实际游戏,所以手动定位所有内容都是可行的。但是,在效果的实际实现中,您可以通过目标的位置减去粒子的位置来获得方向,然后使用距离作为给定轴上的比例来进行正确的定位。也可以通过使用先前计算的方向来设置粒子旋转。
这是光束的比例动画:

为了在光束上产生最终的侵蚀效果,我在能量条纹上使用了类似的着色器,但由于球体具有与平面不同的UV布局,我不得不使用菲涅耳乘以噪声纹理来侵蚀不透明度。这是细分:




















我做了相同的光束偏转技巧,但是尺度略有不同。我在目标的方向上以较小的比例保持球体并使其变宽,以给予被盾牌猛击压缩的感觉,然后我快速增加比例并使其变薄,以给出加速感。
镜头光晕有一个棘手的着色器。我花了一些时间来做它,因为它是古箭效果的主要部分之一,并且在这种情况下仅用于较小的比例。但它基本上是使用四边形UV布局制作的蒙版,由带有滚动的焦散纹理添加,再次被UV遮挡,但具有不同的不透明度值。使其出现在不透明网格前面的技巧是使用否定视图方向来偏移相机方向上的顶点。看起来它已经到位了,但它实际上正朝着你走来,避免在监护人身上削减。这是与其余效果隔离的镜头光晕:
以下是Guardian Beam效果的图集:

爆炸
大多数爆炸粒子是使用比例动画进行α侵蚀的简单纹理。爆炸有五个阶段:尖刺的球; 冲击波是面向摄像机的圆形网格的一部分,并且可以快速缩放; 碎片或碎片,以给出冲击感,因为快速的粒子在开始时从亮球中弹出; 加热的烟雾; 和烟雾的消散。前3个阶段发生得非常快,而最后两个阶段拖得更多,让人感觉很轻松。这是原始爆炸与我的爆炸之间的比较,显示了以下阶段:



烟雾有两种技巧,一种是发光,另一种是着色器。不知何故,在原始效果上,烟雾远离中心,然后开始表现为广告牌。我复制这个的方法是使用拉伸的广告牌和常规广告牌。拉伸的广告牌不得朝向相机方向发射,因此它们看起来不像纸张那么薄。因此,我使用两个半穿孔,通过脚本作为发射器始终面向相机:
烟雾都是手绘的,包括腐蚀的噪音。烟雾的纹理使用4个通道和一个自定义着色器,它们是:红色上的颜色渐变,用于设置烟雾的阴影,两种颜色,然后乘以顶点颜色; 在果岭上做一个手绘的噪音来制作火焰,它乘以一个颜色和一个亮度值,然后加到粒子的颜色上; 蓝调侵蚀的另一种手绘噪音; 最后,一个不透明的面具,上面有烟雾的形状。

另一种纹理用于创造龙卷风对烟雾消散的影响。为此,我使用了一个用photoshop制作的旋转流图,扭曲了蓝色通道的紫外线噪声。为了仅旋转噪声,我必须使用两个采样器作为纹理。
使用自定义数据和自定义顶点流完成火灾,侵蚀和失真的所有控制。Unity的粒子系统为您提供了创建自己的数据流的选项,方法是使用UV数据将粒子数据传递到着色器。在这种情况下,我使用TEXCOORD1.xyzw来控制效果的每个部分:X控制火焰侵蚀,我用它来启动粒子作为火球,然后在火焰逐渐消失时产生冷却效果; Y控制着色的剪切,这意味着我可以控制烟雾对其颜色的影响程度; Z控制α侵蚀; 和W控制侵蚀噪声的旋转角度。



古老的箭头效果
在观看了很多次的游戏画面后,我将效果分解为4个主要部分:箭头充电,做出预期; 一个巨大的镜头框架与焦散; 一个突然打开并缓慢关闭的门户; 以及被门户网站吞噬的东西。



对于镜头光晕,我使用了我之前描述的用于Guardian光束镜头光晕的相同着色器。为了产生明亮核心的效果,我使用了两个镜头光晕,一个在另一个前面,但是一个在Y轴上有一个小刻度,而另一个几乎覆盖整个屏幕。
门户网站以类似的爆炸方式打开。实际上我重新使用了爆炸中的大部分粒子。当它打开时,我使用相同的冲击波和不同颜色的碎片,与镜头光晕一起创造冲击效果。
然后,我重新使用了Guardian Beam效果中的能量条纹和来自爆炸的琥珀(再次改变了颜色),但这次移动到效果的中心,而不是被弹出。与门开口相比,吞咽效果更慢。移动到中心的慢速粒子与门户着色器一起工作,其中的纹理滚动到其中心。我还模拟了一个涡旋形状,它也有一个向中心移动的滚动纹理。以下是用于门户和涡旋的几何:



通过箭头电荷效应产生的预期完成开启的高潮时刻,随后是涡旋的缓慢结束。它取决于正确的箭头在向卫报发射之前充电的那一刻。
规模和动态
对于效果的比例,我用作表示链接的球体的参考。它有1个直径的统一,考虑到这一点,我在场景中设置了守护者的比例。我尝试用尽可能接近原始尺度的效果来制作效果,所以我观看了光束偏转的镜头,看到卫报上发生的爆炸。这给了我一个更好的规模概念,我复制了我的效果。
对于动画,我试图为每个效果创建一个高潮曲线,预期,然后是最高的高潮,并以缓慢的速度结束。除了偏转效应,它有两个高潮,所有效果都遵循这种模式。
我还在某些时刻为时间刻度设置了动画,以吸引观众对某个特定事件的注意。例如,当Guardian Beam偏转时,屏障撞击光束会有短暂的瞬间,此时会产生慢动作效果。它强调盾牌猛击,给它带来重量感。监护人的移动也有助于序列的整体流动。当他被击中时,他被抛回,保持一段时间恢复,然后走回原来的位置。



时间成本
像爆炸或古箭头这样的复杂效果可能需要3到5天,但这取决于我需要调整时间和纹理的时间,或者我必须从艺术的反馈中做多少调整导向器。在这个特殊情况下,爆炸耗费了大量时间,因为我正在研究原始爆炸,试图找出模拟其行为的排放技术,为烟雾绘制不同的纹理等。
古老的箭头效果花了更少的时间,因为我已经有了一些我可以使用的纹理,以及着色器。而且我在一天晚上做了卫报的死。
对我来说最大的挑战是学习曲线和缺乏工作时间。在我第一次尝试重新创建这些效果时,我仍然是VFX的新手。所以我不得不花一些时间,在其他项目上工作,直到我有足够的信心继续努力。
对于学习曲线来说,这是一个很大的挑战,因为很难找到研究实时FX的好材料。我很幸运有一位老师向我展示了我需要继续前进的背景,剩下的就是观看了大量的影片视频,并试验了不同的复制方法,直到出现问题为止
如果有人试图开始学习视觉特效,我建议开始开发计算机图形学的一些背景知识,至少要了解什么是着色器以及编写一个着色器的心态是什么。当试图找到实现某些视觉效果的方法时,它确实很有用。


评分

参与人数 3元素币 +73 活跃度 +45 展开 理由
113666149 + 3 【感谢】楼主分享的内容!很棒!
元素界王神 + 50 + 20 【点赞】这很有大网气质!
元素精灵 + 20 + 25 流弊!

查看全部评分

2023-8-19 09:52:45  
 赞 赞 3

使用道具 登录

327个回答,把该问题分享到群,邀请大神一起回答。
2#
非常好的分享···学到很多····感谢分享···
回复 收起回复
2018-8-2 21:33:57   回复
 赞 赞 3

使用道具 登录

3#
经典!

评价

真好  发表于 2018-10-30 00:09
回复 收起回复
2018-8-4 19:39:33   回复
 赞 赞 2

使用道具 登录

4#
我擦,这特效好J儿炫酷啊,空空就是空空
回复 收起回复
2018-8-8 18:23:14   回复
 赞 赞 3

使用道具 登录

5#
干货满满,厉害了
回复 收起回复
2018-8-22 11:44:11   回复
 赞 赞 3

使用道具 登录

6#
非常好,感谢分享
回复 收起回复
2018-9-29 13:43:41   回复
 赞 赞 2

使用道具 登录

7#
感谢分享
回复 收起回复
2018-10-14 18:10:39   回复
 赞 赞 2

使用道具 登录

8#
八个
回复 收起回复
2018-10-15 21:28:53   回复
 赞 赞 2

使用道具 登录

9#
八个
回复 收起回复
2018-10-15 21:28:58   回复
 赞 赞 2

使用道具 登录

10#

想要成大触,天天上元素!
回复 收起回复
2018-10-17 10:25:52   回复
 赞 赞 2

使用道具 登录

11#
666,学习学习
回复 收起回复
2018-10-18 09:15:48   回复
 赞 赞 2

使用道具 登录

12#

感谢分享
回复 收起回复
2018-10-18 09:21:19   回复
 赞 赞 3

使用道具 登录

13#

首发必发微元素,荣耀加身装备酷
回复 收起回复
2018-10-18 23:46:02   回复
 赞 赞 3

使用道具 登录

14#
感谢楼主分享
回复 收起回复
2018-10-19 13:57:30   回复
 赞 赞 3

使用道具 登录

15#

天下武功出少林,世界资源入元素!
回复 收起回复
2018-10-19 14:08:38   回复
 赞 赞 3

使用道具 登录

16#
       
谢谢分享
回复 收起回复
2018-10-20 09:42:37   回复
 赞 赞 3

使用道具 登录

17#
回复 收起回复
2018-10-20 11:49:19   回复
 赞 赞 3

使用道具 登录

18#
这世上没有什么是元素币搞不定的
回复 收起回复
2018-10-20 12:16:33   回复
 赞 赞 3

使用道具 登录

19#
感谢楼主的分享~~~~谢谢了~~~~  
回复 收起回复
2018-10-20 12:31:48   回复
 赞 赞 3

使用道具 登录

20#
感谢分享
回复 收起回复
2018-10-20 14:06:12   回复
 赞 赞 3

使用道具 登录

CG 游戏行业专业问题

图形图像技术CGGraph渲染图形学
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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