spine描边

spine描边

前言

  • Cocos Creator 3.8.7
  • 只是简单示例,仅供参考。
  • 未进行多平台兼容性测试。

方案简介

方案一. shader使用多pass实现

  • Video_251017111104
  • 基础原理:
    • 5个pass实现描边
      • 1.绘制向下偏移描边宽度的单色spine
      • 2.绘制向左偏移描边宽度的单色spine
      • 3.绘制向右偏移描边宽度的单色spine
      • 4.绘制向上偏移描边宽度的单色spine
      • 5.绘制原本spine
    • 如果4方向偏移不够,可自行修改为8方向偏移
  • 存在问题:
    • 不能合批
    • 几个pass就几个drawcall
    • 堆叠部分会看不见
    • 性能差

方案二. shader 多方向采样

  • 基础原理:
    • 本质是把前面多个偏移绘制改为进行多偏移纹理采样后的单次绘制
    • 特殊处理在于将绘制宽度转化为纹理坐标偏移
      • 绘制每块区域纹理宽高都不同?
  • 暂未实现

方案三. ReanderTexture + Sprite描边

  • Video_251017111146
  • 存在问题:
    • 测试发现,动起来较快时描边跟不上
    • 对于用单张全屏的渲染纹理。全部spine的描边颜色宽度只能保持一致。
    • 对于多张渲染纹理。 数量一多分layer有点问题啊。
4赞

mark一下

:grinning: :expressionless: :open_mouth:

正好是需要的,哈哈哈 :grinning:

:grinning:小白鼠1号出现了。 手机上能不能用、卡成怎样就等你试验了

怎么会出问题呢,我都是网上抄的啊 :grinning:

mark后看