• UE4 -TextureCropping
  • 如何在Unreal里制作燃
  • UE4教程之动画雨滴材
    • 引擎世界丨EngineWorld.CN
    • 引擎世界丨EngineWorld.CN
    • 引擎世界丨EngineWorld.CN
    • 引擎世界丨EngineWorld.CN
    • 引擎世界丨EngineWorld.CN
    • 引擎世界丨EngineWorld.CN

[动画] UE4教程之动画雨滴材质制作

1
回复
241
查看
[复制链接]

30

主题

30

帖子

200

积分

初阶编码师

Rank: 1

积分
200
发表于 2022-10-12 12:11:45 | 显示全部楼层 |阅读模式
本帖最后由 星仔亮晶晶 于 2022-10-12 12:15 编辑

今天分享的是莫斯科自学成才的一个艺术家的动画雨滴材质,虚幻引擎非常适合创建简单且美观的动画着色器和效果,因为它不需要强大的编程技能,只需要基本的数学知识。你需要两个参数来调整动画材质:根据时间来改变贴图的UV坐标以及时间。

1、雨滴材质

动画水滴的工作流程都差不多相同,我首先制作了一些包含材料所需信息的静态纹理。

制作中需要用到的一些贴图:

静态水滴的法线贴图以及打包的Masks。

R,时间变化的Mask,负责在正确的时间出现和消失的水滴。

G,用于将水滴与表面混合的Mask。

B,一个噪点Mask,使水滴看起来更混乱。

动态水滴的法线贴图和打包Masks。

R,水滴Mask。

G,一个用于水滴路径的Mask,不允许其他静态水滴出现在运动的水滴的途中。

还有一张Distortion的法线贴图,它会影响液滴在表面上流动的方式,使其更加不规则。

1.png

然后,我制作了两个包含所有必要信息和逻辑的函数。它们分为两组:随时间出现/消失的静态水滴和流过表面的动态水滴。

2、工作流程

首先,需要获取纹理的坐标并开始向必要的方向移动它们。稍后,将使用这些坐标对Distortion的法线贴图进行采样,并为水滴的纹理坐标添加轻微的扭曲。借助有关扭曲和纹理坐标位移的信息,可以对法线和Mask进行采样。

然而,为了呈现不仅仅是简单的水滴流动的效果,我使用了Mask的红色通道,并使其强度随时间变化。另外,我还通过添加一些简单的数学函数使水滴随时间出现和消失。

2.png

第二个函数也是如此。它包含置换纹理坐标和扭曲,但略有不同。当我制作流动水滴的纹理时,我只为它制作了一滴水和一组Masks。为了填充水滴,我必须添加一个循环,在该循环中水滴被复制、移位、具有不同的速度(每个水滴都是唯一的),并最终相互混合。

为了使扭曲更有趣,我使用了两次扭曲贴图:用于比较大的扭曲和不太密集的扭曲。然后,它们沿轴以不同的强度混合在一起。假设,可以在一张地图中使用多个水滴或一张地图用于所有水滴,在这种情况下,所有水滴将以相同的速度相互平行移动,因为你无法影响单滴的速度和时间。

3.png

我还有一个自定义节点,其中包含有关最大滴数的信息,并使用当前位置和滴速设置了一个静态数组。它可以手动完成,也可以在Unreal中完成,我这里使用的是3D Max的脚本。  

4.png

该脚本获取有关编辑器中所选对象的位置和大小的信息,并将其返回到定义的数组中。在我的例子中,我只使用了 XY 坐标和一个下降速度的指数。同样,可以创建一个包含有关液滴大小信息的数组并将其添加到材质中。

过滤器准备好后,我调整了它们的输出参数。我还创建了一些可以在材质中更改的输入参数,例如动画速度、平铺、水滴失真强度、法线贴图强度和使用过滤器的纹理。

之后,这些过滤器可以用于任何材料,无论其类型如何。材料的参数可以在其掩码的帮助下进行调整。  

作为示例,我制作的第一个基础材料是哑光不透明表面,这是混合必要蒙版和设置颜色、粗糙度和水滴法线等参数的起点。

5.png

如果将材质类型更改为透明并同样添加透明度和扭曲,将得到一个简单的玻璃材质。

6.png

为了使物体更加有趣和复杂,可以通过模糊玻璃后面的背景来添加冷凝效果。此技巧仅适用于透明材料和后期处理。同时,必须降低透明度,仍然保持材质类型透明。之后,是时候为材质添加模糊效果了。

7.png

然后,可以添加Mask以避免在平行于地面的表面上移动水滴。

8.png

以同样的方式,可以将其与现有纹理混合,例如水滴从屋顶掉落的纹理或任何其他材质。

9.png

这是在后处理中使用函数的示例:

10.png

3、最后

不幸的是,所有这些效果都非常苛刻,因为它们更适合在屏幕上不占用太多空间的小表面,比如房间里的窗户。

11.png

使用的纹理、混合和复杂的数学越多,渲染材质的难度就越大。

为了优化,可以选择简化纹理,例如,如果不想要这样或那样的效果,可以减小它们的大小或去掉一些数学运算。在这个函数的情况下,我并没有针对某些特定的结果,而是尝试制作一些可以在必要时简化的多用途的东西。  

6

主题

112

帖子

757

积分

初阶编码师

Rank: 1

积分
757
发表于 2022-10-16 22:10:08 | 显示全部楼层

谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用艺术创造世界
专业的开发者社区,汇聚众多创作人 提供作品展示
项目交流 工作机会等行业服务
社区邮箱:engineworld@qq.com

Powered by 引擎世界中文社区™®© Engine World Inc.( 陕ICP备20012463号-1 )