shader 代码控制不同的材质属性,某些时候结果显示不对 sp.spriteFrame.setRect(rect);

请问下 多个使用了这个材质,有的时候sprite 表现就不对了
`let sp = child.getComponent(cc.Sprite);
node.getComponent(ItemPuzzle).intConfig(newcc.Vec2(puzzleConfig.col,puzzleConfig.row),rect,node.getPosition());
sp.spriteFrame = spframe;
var rendercom = child.getComponent(cc.RenderComponent);
let material = cc.MaterialVariant.create(rendercom.getMaterial(0),rendercom);
material.setProperty("_row",puzzleConfig.row);
material.setProperty("_col",puzzleConfig.col);
material.setProperty("_rowsum",puzzleConfig.rowSum);
material.setProperty("_colsum", puzzleConfig.colSum);

    material.setProperty("_RowOffset",puzzleConfig.offsetPix.y / puzzleConfig.imgSize.y);
    material.setProperty("_ColOffset",puzzleConfig.offsetPix.x / puzzleConfig.imgSize.x);
    material.setProperty("_RowInterval",puzzleConfig.RowInterval);
    material.setProperty("_ColInterval",puzzleConfig.ColInterval);
    material.setProperty("_blockTexture",blockSp.getTexture());
    rendercom.setMaterial(0, material);
    sp.spriteFrame.setRect(rect);`

原图为:


分块加入shader有的时候纹理显示就不对了

你的切图是怎么实现的啊,有没有解决锯齿问题

这种边缘拉伸一般是设置的纹理uv大于1或小于0所致,所以你这应该是计算纹理uv有问题