求spine的外围发光实现 有没有大佬们做过类似的?

这个锯齿确实 主要shader理解不深 用的网上的

其实从描边shader的算法上来看,锯齿其实就是精度的问题,取样一样可以选8个方向和16个方向的,我之前用过一个大佬写的16方向取样的,一样有锯齿,比16还大就没意义了,改描边宽度可能有点改善,不过依然有的角度还是有锯齿,可能还跟spine有点关系,所以很难解决

由于spine是由于图集里多个图片拼出来的ui,有的地方会重叠,导致描边错误
解决办法:使用相机拍下shpine,拿到renderTexture,然后对renderTexture进行描边处理

锯齿问题用smooth平滑处理

好的 我研究一下

用后期+渲染纹理

能在详细点不 :joy: 不太理解

https://blog.csdn.net/weixin_42186870/article/details/136131612

换个思路,用一种粗暴的解法。在spine背后放一个大它一圈的纯色spine,同步播放。 :rofl:

:joy:也是个办法

或者用现在论坛已有的这些外发光的spine垫在后面。这样最快。

还有一种就是自定义渲染管线 把spine单独渲染为一个图片,然后进行图片描边或者发光 是不是也行 :rofl:

对,就是这个思路

unity那个链接 差不多就是这个思路

哦哦,那个链接还没看呢,这就去看看

弄个spine的纯色外发光阴影放在底下, 大他一圈

性能开销和复杂度最低的方法就是做图的时候让特效师就做好发光
如果要通用,或者说已经积重难返了,那就走RenderTexture那套方式,做一个二次渲染,用输出的效果作为新的纹理配合外发光着色器去实现

咱就说不能直接做到spine里吗

要用不同颜色外发光表达 不能做在spine里面

方案有很多 ,我简单脑补了两种高度自由的实现方案

  1. 实时单独相机渲染到rendertexture,然后上shader(放大,设置颜色就行,不需要单独去算描边)
  2. 实时获取到每个骨骼(还是插槽)的包围盒,从局部原点发射射线一圈检测操作后得到一堆边缘顶点,延展一段距离得到顶点数据,有了顶点数据就有了形状,可以组装为Mesh或者Assembler,然后上shader,给颜色,渲染,节点放到spine节点前面.