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

1、雨滴材质

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

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

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

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

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

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

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

R,水滴Mask。

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

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

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

2、工作流程

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3、最后

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

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

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

UE4动画雨滴材质制作教程相关推荐

  1. VRay Next for SketchUp 泳池水材质制作教程

    作者:Architecture Inspirations 今天与大家分享的是 VRay Next(4.0) for SketchUp中 如何创作真实的游泳池水材质 在建筑表现中 水的材质很简单也很难 ...

  2. html5教程单摆,Flash动画—单摆的制作教程

    想起当初作这个动画时,真是不知如何下手,所以,这是一篇献给初学者的教程的单摆动画的制作,应该要解决两个方面的问题: 一.单摆本身的制作,这一点只要用好flash的绘图工具即可 二.单摆振动,这一点将是 ...

  3. html5水涟漪动画,CSS3水波涟漪动画定位样式制作教程

    先上效果图: 教程 本动画需要用到的主要属性:animation, transition 和 Keyframes 属性. Step 1:HTML 代码: Step 2: CSS样式:设置animati ...

  4. [玩转UE4动画系统]教程的大纲及设计思路

    本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式. 教程内容将同步免费发布于 开发游戏的老王(知乎|CSDN)的玩转UE4动画系统 专栏. 教程中使用的资源及工程将以开源 ...

  5. 【UE4】材质编辑器教程笔记整理

    点我进入原教程链接 节点介绍 基本材质节点 材质的基本属性,可以通过更改着色模式切换可用的接口 节点名称 意义 Base Color 纹理 Metallic 金属度,范围0-1 Speculator ...

  6. ios开发 方形到圆的动画_3Blue1Brown 动画制作教程(1)--制作第一个自己的动画

    制作第一个自己的动画 前一篇详细介绍了 3Blue1Brown 的动画引擎在 Windows 10 64 位系统上,基于 Anaconda的配置方法,并且详细描述了在配置 3Blue1Brown 提供 ...

  7. UE4材质 制作UV贴图

    我们想要制作一张uv贴图,是一个什么意思呢?我们知道一般来说,我们都是根据uv来采样贴图,一般来说这个事情都是美术同学来制作的,所以我们想要进行的是在UE4中,动态或者根据自己的实际情况来生成一张贴图 ...

  8. hge引擎配置登录器教程_3Blue1Brown 动画制作教程(1)--制作第一个自己的动画

    制作第一个自己的动画 前一篇详细介绍了 3Blue1Brown 的动画引擎在 Windows 10 64 位系统上,基于 Anaconda的配置方法,并且详细描述了在配置 3Blue1Brown 提供 ...

  9. UE4虚幻引擎关于小地图制作教程

    UE4虚幻引擎关于小地图制作教程 首先,要做一个这样子的效果! 怎么做呢! 首先,我们要准备UI! 小地图,我们的分辨率是512x512 记住参数! 然后在MainUI当中!我们就可以这么设置! 一个 ...

最新文章

  1. 如何在HHDI中进行数据质量探查并获取数据剖析报告
  2. 如何配置VirtualBox中的客户机与宿主机之间的网络连接
  3. php 统计一周数据,如何获取本周、上周、本月、上个月数据的起止时间 PHP
  4. 《Java 核心技术卷1 第10版》学习笔记------ 控制可见性的4个访问修饰符详解
  5. java 桥接模式_JAVA设计模式之【桥接模式】
  6. ubuntu导入第三方库_在Ubuntu中,如何添加Apt存储库
  7. 《众妙之门——用户体验设计的秘密》一2.3 触摸至上的设计
  8. 用户的大量数据保存在计算机的,计算机基础理论复习题
  9. 实施云计算之后如何保证安全
  10. tomcat服务器开启gzip功能的方法
  11. c语言dummy作为参数,C语言中的dummy函数
  12. 论Web控件开发 - 完美上传下载控件“新”(一)
  13. C语言程序实验01,广西科技大学理学院《C语言程序设计与算法语言》实验01: 熟悉开发环境.pdf...
  14. C++ template<typename> 模板怎么用
  15. vim的ex模式介绍
  16. Tomcat日志乱码问题解决方法
  17. HDU 5336(2015多校4)-XYZ and Drops(bfs)
  18. 2020时尚COSMO美容大奖“破圈直播间”完美收官!打造美妆直播全新形式!
  19. UCenter Home 正式开源 促进国内SNS网站发展
  20. 关于滚动条内子控件控制问题

热门文章

  1. 简历面试择业篇-在面试的过程中你所需要注意的问题
  2. 推荐一个程序员业余写的小说
  3. 计算机型号cpu主频,电脑cpu型号怎么看好不好 教你看cpu主频等详细性能参数
  4. 知识图谱 方法、实践与应用 王昊奋 读书笔记(下)
  5. 空间数据可视化:ArcGIS JavaScript API 二、三维数据一体化
  6. Python3进阶--Socket编程、多线程(创建方式、线程通信、线程锁、线程池)
  7. 06-10 上涨到筹码密集区附近,有震荡消化需求
  8. 也谈《火车运煤》问题
  9. 将MacbookPro作为电脑音箱的方法
  10. 通过linux课程我学到了什么作文,我学会了什么作文(精选3篇)