给Spine设置Shader,渲染位置和大小错误

按照 @sunnylanwanjun 的方案,创建了一个 material 后调用 skeleton 的 _updateMaterial 方法给 spine 设置 shader,效果是有的,但是位置和缩放信息都不对了,请教一下应该怎么去更新?
使用的是 Creator 2.0.7
demo : SpineShader.zip (720.6 KB)

顶一下~~~ 有大佬给些意见不???

把render-engine.js 里面的SpriteMaterial中的shader,拷贝出来,在它的基础上修改,保留原有的define,不要删,因为里面带了node节点相关矩阵,否则模型矩阵就出错了。因为是用gpu去计算顶点的。

好的,我去试试

修改了shader以后可以了,谢谢大神~

请问前辈是否能分享一下实例项目,谢谢

麻烦移步 https://forum.cocos.com/t/cocos-creator-2-x-shader/69098
我也是参考这个实例项目修改的

謝謝前輩

大神,这个shader换成自己的吗?

这个不是 Shader 吧,这个是材质的实例化设置。你需要实现一个类似的自定义材质,然后给这个材质附上自己的 Shader 。

是使用您demo里面的实例化材质来替换吗?

把spine的材质替换成自己定义的材质。如果直接写入shader就只能用单一的shader了

不太明白你的意思。
整个流程大概是这样的:
1、创建一个新的材质,并且把要应用的 Shader 设置给该材质;
2、把 Sprite 或者 Spine 的材质更新为你所创建的材质;

问题解决了哈,是由于坐标少乘了一个,正确的坐标相乘应该是这样的:

感谢大佬的demo分享。

大佬,我用了个demo在web运行正常,在原生平台报错,给些意见呐,感谢:pray:
https://forum.cocos.com/t/spine-shader-2-0-x/78926/13?u=merrychristmas

@sunnylanwanjun @panda 大佬求助

这个demo有用吗?我试了怎么没有变化了