UE 调整材质UV贴图长宽比例

首先,为什么要先减去0.5呢,因为缩放的贴图中心在0,0原点,以这个点缩放效果是这样:

它缩放的图案不会在正中间,因为是以0,0点进行缩放的

以这个图的箭头去缩放图片的,所以不能使得缩放后的图片放在正中心

那么减去0.5,UV原点就变到了原先0.5,0.5的点,这样就能保证伸缩的图片在正中心

最后辅助几张图片进行大家理解

若圆心在0,0点,那么贴图UV伸缩就是这样伸缩的

若UV圆心是原先0.5,0.5的位置,那么伸缩位置即可在正中间


所以现在来制作让原来的贴图进行缩放展示的材质

首先我们来思考,为什么Saturate了过后去减没有Saturate会有上面的值

TexCoord是一个UV两个方向分辨从上到下递增以及从左到右递增的通道,最开始减去的0.5把RG通道分别的上部分和左部分变成了-0.5~0,再乘以一个大于1的数(÷(16÷25))= ÷16×25>1,那么整个的取值范围就到了-12.5/16~12.5/16,现在整体加上0.5,整体取值范围:-4.5/16~20.5/16,Saturate变成0~1,但是这里的0是有范围的,原来-4.5/16~0之间的范围全变0,1~20.5/16全为1,两者相减,0-(-4.5/16),那么肯定上面就为整数,所以减了过后上面是有一个正的递减值,同理下面是1-20.5/16,最下面变成了负数,所以我们ABS,取绝对值

因为小于0,与大于1的部分为两个4.5/16,所以总共右值的范围有9/16,里面就是16/16,占比16分,同理R的算出来小于0与大于1的部分为两个8/16,所以剩下的就是25/16-8/16*2 =9/16,比例就为16/9 

最后咋乘起来就出效果了


这个玩意儿能够去做什么功能呢?

投影仪:

材质域改成光照函数

把图片的RGB做成三个材质,用聚光灯去叠加即可,聚光灯的颜色单独出来只是黑白色,所以需要材质光照函数的三个通道

R通道的聚光灯给到R为1,其余为0,再把R通道的光照函数材质给到这个聚光灯,其余同理

最后把三个聚光灯叠加在同一个位置

未在同一个位置效果

在同一个位置效果

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值