shader+smoothStep
补充了一下裁切的参数设置
刻意调大一点过渡范围,这样可以明显看出过渡。
另外新写了两个形状裁切的示例:五角星和爱心形状
更多的形状就不再封装了,有需要可以参考我的shader,把sdf函数改成sdf2d.chunk里的其他形状即可
ps:
突然发现ccc里面的uv坐标系原点不一样,所以一些有上下区分的形状是倒过来的。
这里的五角星就是顶角朝下了。
爱心形状我加了个宏,控制它上下颠倒一下。
mark~合批圆形裁切3.x
战略性mark!
两种合批
1,圆形头像类型的合批
2,圆形头像与其他普通sprite合批
有没有第二种的~
合批需要统一材质。
圆形头像和普通sprite如果想要合批,不能用shader的方式,可以用顶点构造成一个多变形模拟成圆。
在我的小玩意合集里有使用自定义assembler来做的圆角矩形案例,那个圆角矩形把四个角都选用,并且调大圆角半径,就可以做成圆形。
这种方式只是把原本两个三角面的矩形,变成了n个三角面的圆,材质不变,所以合批和普通sprite一模一样。
https://forum.cocos.org/t/topic/154029
我这边也尝试了用颜色值来传递合图后的uv,但是发现个问题,就是传递进去的值好像会有偏差,弄个圆形,背景弄个一样尺寸的背景图就看出来有误差,猜测是浮点数通过颜色值传递进去可能有裁剪,但是用setProtype传递进去就没问题。
颜色值的精度应该是1个字节的,也就是0~255,的确会有精度问题。
大佬 安卓包显示不出来头像
你使用的是最新的吗?之前有人提过原生上有问题,后来已经修复过了。
马斯克!!!
我用的3.8.2版本,发现GPRoundBoxSprite和GPRoundBoxAssembler中的renderData在3.7版本之后是不能获取的了,请问怎么修改呢?
直接上阿里云圆形遮罩头像吧,多香。。
我后来已经在用3.8了,没有遇到什么问题啊?你是遇到有报错吗?如果只是标记弃用是没关系的,实际还在用着。
对,就是标记看到是弃用了,提示后续会删除的,怕后面版本不支持了,就不能用了
老哥, 为什么我用阿里云的预处理参数"?x-oss-process=image/circle,r_1024/format,png"在网页上直接打开或者下载的是正常的处理好的圆形头像, 但是在cocos 使用loadremote下载并显示的 没有生效, 还是方形的啊。请问有遇到这个问题吗。 或者能否指教一下 你是怎么用的呢
你抓包看看访问的是那个地址么
复制出来网址 用浏览器访问不一样么?