美文网首页UGUI
UnityTips 之 暗角效果巧妙的圆角矩形制作

UnityTips 之 暗角效果巧妙的圆角矩形制作

作者: 暴走TA | 来源:发表于2022-08-31 16:54 被阅读0次

简介: 最近再学习的时候,接触到到了 Unity 暗角的shader实现逻辑,在里面看到了一个有意思的圆角效果实现方法,在此分享一下
版本: Unity2019.4.12f1

具体的实现思路

先求得 UV 到中心点(0.5,0.5)的距离,然后将其缩放到0-1的区间(可乘系数),下一步求得这个 二维向量的长度,这就得到了0-1的uv象限内所有点到 (0.5,0.5)的距离,对其进行power 便可以控制圆角的程度,power值越大越趋近于矩形, 然后将其进行平方之后进行 oneminus(用 1 减去)操作(反向黑白),然后加个 power 就可以控制其衰减程度

图解实现

  • 我们使用两个ASE 的 relay 节点来预览 x 的值 与 y 值的 图片效果
  1. 求 UV 象限内 所有点到 (0.5,0.5)的距离,使用 abs 函数使其结果范围都是 0 到 0.5


    使用 abs 求绝对值,使负数变正,来表示正确的距离
  2. 对得到的 0 到 0.5 的结果进行 2 倍缩放,使其变为 0 到 1 的范围


    缩放距离结果为 0 - 1
  3. 给缩放结果加一个钳制,确保当我将倍数放大时,结果被限制在 0 - 1 内


    限制倍乘后的输出范围为 0 - 1
  4. 添加一个 power 来控制 0 到 1 的渐变锐化度,可以看到 我们的倍乘可以增加白色的范围,而我们的power 可以缩小黑色和白色之间的过渡范围


    调整倍乘和power的效果.gif
  5. 求得每一点对应的向量长度,结果就会得到一个圆角矩形,倍乘越大黑色范围越小,power越大,形状越方


    倍乘和power对长度的影响
  6. 四个角向内其实还是会有一点不均匀


    对角线的颜色较深,我们开方看一下会更明显
  7. 做个平方然后 用 oneminuse 进行反向


    这里的黑白范围是被控制在 0 到 1 的
  8. 最后结果加一个 power 来控制 和白渐变范围的大小


    最终控制
  9. 最后个参数控制效果


    最后控制效果预览

相关文章

  • UnityTips 之 暗角效果巧妙的圆角矩形制作

    简介: 最近再学习的时候,接触到到了 Unity 暗角的shader实现逻辑,在里面看到了一个有意思的圆角效果实现...

  • PS小知识

    1、制作圆角图形 (1)通过平滑选区制作圆角矩形选区 选择矩形选框工具,绘制一个矩形选框 选择选择菜单>修改>平滑...

  • CSS样式——仿微信语音对话框

    一个小三角+一个圆角矩形 话不多说先上效果图: 我们把这个图形拆分成一个圆角化了的矩形和一个旋转后的矩形,然后背景...

  • [画带圆角的矩形]UIBezierPath画图基础实例

    4、画带圆角的矩形 1、效果图: 函数代码: #pragma mark带圆角的矩形 -(void)drawRoun...

  • View-Draw-圆角矩形Loading

    实现说明 1:控件的宽高比2:12:圆角矩形的每个角对应的进度是103:圆角矩形的每个宽边对应的进度是104:圆角...

  • CorelDRAW教程!CDR制作木纹效果闹铃

    本教程是用CorelDRAW X7制作的。 效果图: 1、使用“矩形工具”按住Ctrl键绘制正方形,调整调整圆角“...

  • UIBezierPath绘制图形的常用方法详解

    1、绘制一个矩形的曲线 方法: 效果如下 2、绘制一个矩形框内的内切圆 方法: 效果如下 3、根据矩形画圆角的矩形...

  • 找不到合适的素材?用PPT做个呗!

    哈喽,周三早! 今天柚子教大家来制作简单的页面卷角效果。 制作页面 首先,插入一个【剪去单角的矩形】。 将它进行垂...

  • UIBezierPath画不规则图形

    小试牛刀 效果图是一个圆角矩形加一个尖角三角形,我称之为尖角矩形,如下图所示 直接要设计师提供一个切图当然是非常简...

  • PS教程:图中图效果

    图中图效果制作,本章主要是针对“圆角矩形边框和剪贴蒙版”的方法使用,个人觉得,多练习会收获更多,图文较长,建议收藏...

网友评论

    本文标题:UnityTips 之 暗角效果巧妙的圆角矩形制作

    本文链接:https://www.haomeiwen.com/subject/cacsnrtx.html