按照 @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以后可以了,谢谢大神~
请问前辈是否能分享一下实例项目,谢谢
謝謝前輩
这个不是 Shader 吧,这个是材质的实例化设置。你需要实现一个类似的自定义材质,然后给这个材质附上自己的 Shader 。
是使用您demo里面的实例化材质来替换吗?
不太明白你的意思。
整个流程大概是这样的:
1、创建一个新的材质,并且把要应用的 Shader 设置给该材质;
2、把 Sprite 或者 Spine 的材质更新为你所创建的材质;
问题解决了哈,是由于坐标少乘了一个,正确的坐标相乘应该是这样的:

感谢大佬的demo分享。
大佬,我用了个demo在web运行正常,在原生平台报错,给些意见呐,感谢
https://forum.cocos.com/t/spine-shader-2-0-x/78926/13?u=merrychristmas
这个demo有用吗?我试了怎么没有变化了

