UE4动态材质纹理偏移效果制作基础教程

一、用途

工作中有时候一整个网格体需要多个材质拼接,然而贴图有时候不一定对的准,例如这样一大块面板。如果不方便动模型就只能在材质中手动调整纹理UV :![例如这样一大块面板](https://i-blog.csdnimg.cn/direct/a518c3df6f134c22ae40ba5a63372cb1.png
在这里插入图片描述

二、用到的节点

首先在材质属性中将BlendMode改成遮罩
在这里插入图片描述

纹理坐标节点TexCoord:生成基础的纹理坐标,默认情况下,它提供了模型表面的UV坐标
在这里插入图片描述

标量参数节点ScalarParameter (快捷键S): 定义了两个标量参数,分别表示U和V方向上的偏移量、旋转中心点、旋转角度
在这里插入图片描述

在这里插入图片描述

向量拼接节点 Append: 将U和V偏移量拼接成一个二维向量。这是为了将两个独立的标量值组合成一个可以用于坐标变换的向量。
在这里插入图片描述

向量加法节点Add(快捷键A) :将基础纹理坐标与拼接后的偏移向量相加,生成新的纹理坐标。这一步实现了对纹理坐标的平移操作。
在这里插入图片描述

材质函数调用节点 :调用一个自定义的旋转材质函数CustomRotator。这个函数负责将偏移后的纹理坐标进行旋转变换。

这个节点有三个输入:UVs(传入的是加法节点输出的新纹理坐标)、Rotation Center(旋转中心)、Rotation Angle(旋转角度)。

UVs: 传入的是新的纹理坐标。 : 
Rotation Center: 定义了旋转的中心点,通常在0到1的范围内。  
Rotation Angle: 定义了旋转的角度,通常在0到1的范围内(0表示0度,1表示360度)。

在这里插入图片描述

CustomRotator原理
坐标平移: 首先,将纹理坐标从旋转中心平移到原点。这是为了简化旋转计算。
旋转变换: 使用旋转矩阵对平移到原点的纹理坐标进行旋转。旋转矩阵的定义如下
cos(θ)sin(θ)​−sin(θ)cos(θ)​;其中,θθ 是旋转角度。
平移到原点UVs = UVs - RotationCenter;
应用旋转矩阵RotatedUVs.x = UVs.x * cos(Angle) - UVs.y * sin(Angle);

RotatedUVs.y = UVs.x * sin(Angle) + UVs.y * cos(Angle);

平移回旋转中心RotatedUVs = RotatedUVs + RotationCenter;

通过灵活调整标量参数,可以在运行时动态控制纹理的平移和旋转

三、使用

制作好材质之后创建材质实例
在这里插入图片描述
在材质属性细节面板中勾选属性调整旋转角度,平移纹理
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值