- Creator 版本号:1.5.0
- 目标平台:( iOS / Android / 模拟器)
是这样的,我使用shader使一个预制创建的对象变色,然后过一段时间我想让这个对象变回原来的颜色,我该怎么做?目前我是另外设置一个常规片段着色器的shader来恢复原来的颜色,不过我再对这个对象的透明度做更改就无效了
是这样的,我使用shader使一个预制创建的对象变色,然后过一段时间我想让这个对象变回原来的颜色,我该怎么做?目前我是另外设置一个常规片段着色器的shader来恢复原来的颜色,不过我再对这个对象的透明度做更改就无效了
哦哦,不好意思,我是搞错了,是使用spine的问题,spine的的受击动作在开始加一个变红色的shader,然后过了0.2秒设置另一个shader使其变回原来的颜色,但是这个受击动作有一部分骨骼是使用淡入淡出的效果,变回常规颜色后就显示不出这个淡入淡出的效果,看我明天去公司了搞个demo上传上来
大神可以给出这些变灰的代码么,正好想做这个特效
问题解决了,是我的shader写错了,对shader不熟,还要多加学习啊
谢了哈
想请教一下前辈,
要怎么把shader套用到Spine上面呢?
这个教程是套用到Sprite上,我指的是Spine
var ShaderUtils = require("ShaderUtils");
cc.Class({
extends: cc.Component,
properties: {
sp: sp.Skeleton
},
onLoad: function () {
ShaderUtils.setShader(this.sp, "gray");
},
});
如图,在编辑器中的效果:
添加shader之后:
如上~~
再次感謝大神 (膜拜中)
能否动态除去shader?
不能去除,渲染对象必须有shader,可以重新成默认的shader
使用击中闪白 记得优化drawcall