UE5 材质 运动的扭曲效果
前言
本篇使用UE5的材质系统实现运动的扭曲效果,并解决他的重复性
纹理变换
-
总结思路
为uv坐标添加time节点
-
实现
如下图所示,Texcoord指定uv起始坐标,提供一个float2变量和Time节点相乘(这样对Time有控制权),将相乘结果与uv坐标相加,最后传给采样器
扭曲效果
-
原理
由于噪声的值是固定随机的,将噪声函数应用到纹理中使得纹理的各通道呈现随机性,使用噪声纹理可以做到偏移uv坐标,这样
即可实现扭曲效果
-
思路
噪声纹理提供uv坐标,将该uv坐标用于纹理的采样
-
实现
-
-
控制扰动强度
- 解决:可以看到采样生成的纹理过于扭曲,这是因为纹理贴图中提供的噪声值过大,此时乘以一个value即可削弱强度
-
让扭曲效果动起来:扭曲效果+纹理变换
- 解决:如图所示,先对噪声纹理进行纹理变换,再将得到的uv值传入采样器
- 解决:如图所示,先对噪声纹理进行纹理变换,再将得到的uv值传入采样器
-
让变换的扭曲效果更加真实
-
问题:从上图可以看出,这些变换只是一味的重复(平铺模式是固定的),很容易就被看穿(因为计算机中的随机都是伪随机)
-
解决:分两次采样噪声函数,将两个采样的uv值求和传给最终的采样器
-
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)