上下扫描,贴图尺寸不变,有底纹的材质效果

效果

  • 底部有一层底纹
  • 底纹上方有一层根据模型高度向上扫描的发光条
  • 改变模型尺寸,模型的贴图不变
  • 可改变发光条亮度
  • 可改变地图透明度
  • 可以调整贴图尺寸
  • 可以调整扫描时间间隔
  • 可以调整发光条的宽度
  • 可以改变发光条的扫描方向在这里插入图片描述

实现思路解析

实现方式

透明度(消耗高)

在这里插入图片描述

遮罩,开启噪点遮罩(相对透明度来说消耗更低)

在这里插入图片描述

具体实现

  • 扫描效果

    • 用uv偏移的思路,将uv某个维度的值加上time,就会一直向一个方向偏移,然后将这个值模上一个 1+发光条宽度的值,就会将偏移值限制在 0 - 1+发光条宽度这个范围。然后再用smoothStep函数将这个范围的值重新映射到 0 - 1,这样uv就会在指定方向做0-1的偏移了
    • 利用 *2-1取绝对值 的方法取到从1-0-1的渐变效果,然后用smoothstep函数设定发光条的宽度,然后取反,这样在uv偏移作用下,设定的发光条就会在0-1间偏移
      在这里插入图片描述
  • 贴图纹理设置

    • 直接利用AbsoluteWorldPosition然后Mask某两个channel,总会有某个方向纹理不变形,那么就开始揉和三个组合各自纹理没有变形的channel,就能组合出一个xyz三个方向都不变形的纹理规则了
    • 在实践中法线,将AbsoluteWorldPosition的RG通道mask后给到UV,那么Z轴uv就会规范,不随物体尺寸而变形。同理可以推导GB是X方向规范,而RB是Y轴规范
    • 利用顶点法线方法,将X轴大于0.5的直接赋值X轴UV规范的GB组合,Y轴大于0.5的直接赋值Y轴UV规范的RB组合,剩下的赋值Z轴UV规范的RG组合。通过lerp进行筛选
      在这里插入图片描述
  • 底纹设置

    • 将获取的发光条遮罩加上(纹理*0.1透明度)的值,让整体有一层淡淡的底纹效果,但是这个底纹设置在OpacityMask,需要开启噪点遮罩,开启后允许根据透明度具体值做遮罩展示
      在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值