Creator 2.1.2 Shader(粗解)

圆形shader在浏览器上非纯色的图片有问题,大家可以找shader大神改改(我不是大神!)。Demo仅供参考

@visow
@大掌教
大佬们 ,帮忙看看 吧 :yum:

@fylz1125

不错不错,收藏了

收藏shader

@您好

我使用这个材质,发现还是有部分头像没能显示成圆形,能帮忙看下么,多谢
(我还发现如果头像图片太小,不能正确显示为圆形的概率会变大)

可以加我微信 15811337109, 有酬谢。。。

估计是因为你的那几个头像用的是图集·

并不是阿,是拉取的 Facebook 头像

你顺着这个思路查肯定能查到,shader明显是生效了的,但按uv拆切的范围和图片显示区域对不上

Demo更新。。。实测: 在 8 * 8 以下 和 513*513 以上的图片尺寸,在web上没问题

这个shader的代码,是从左上角到右下角裁切的,不知道为什么 8* 8 到 513513 之间的图片尺寸有问题,这个需要shader大神来重写。你如果非常急的话,有个方案可以参考,你让服务器存储Facebook的图片,尺寸设置在513513,你再creator中设置node的size,这样也可以使用。就是会增加图片大小的开销。

ok 多谢~

不知道和这个有没有关系,记录一下。。
https://forum.cocos.com/t/texture2d-512/82230/8?u=lxb229

更新说明: 当前版本,会把512以下的图片进行动态合图,导致获取纹理的uv有问题,在web上显示有问题,解决办法:
// 关掉引擎的动态图集 (慎用,这会导致游戏的其他drawcall 增高)
cc.dynamicAtlasManager.enabled = false;

https://forum.cocos.com/t/texture2d-512/82230/14?u=lxb229

我用了那个帖子里引擎大佬的js修复方案好像无效,只有把动态图集全关了才正常。楼主你也是这样吗

2.1.2的版本是需要关闭动态图集的,他的pr可能需要下个版本才修复。。。。

mark

mark

mark

mark