Creator v2.2.2 effect中调用cc_time在Android平台失效

实现一个uv自动切换的effect
CCProgram fs %{

precision highp float;

#include

uniform sampler2D texture;
in mediump vec2 v_uv0;
in vec4 v_color;

void main () {
vec2 uv = v_uv0.xy;
uv.x += cc_time.x * 10.;
uv.x = fract(uv.x);
vec4 color = texture2D(texture, uv);
#if CC_USE_ALPHA_ATLAS_TEXTURE
color.a *= texture2D(texture, uv + vec2(0, 0.5)).r;
#endif
gl_FragColor = color;
}

}%

是cc_time这不能在Android平台获取到值吗

你看下文档里,这个变量也许改名字了

在网页上测试是正常的,在cc-global里面也找到了这的定义,render里面看到也是有给赋值的

刚看了下,没错·······我安卓平台用着很正常····
是不是其他地方导致的?

我刚看了下我的代码,你是不是没有包含头文件?

有include

我用component的update调用给传time变量了

你说的 失效 意思是没起作用?

可以先看下shader编译有没有报错,可以给个demo,我们会帮忙看看

我发现确实是这个失效了

effects.zip (1.2 KB)

2.3.2版本也是 打包到native之后shader失效了。同样用到的cc_time.x,

2.2 是有cc_time问题,2.3 已经修复了的,你这个失效是否有报错?没有报错的话,应该要排查下shader本身的代码逻辑。

也许是我shader逻辑有问题,我现在在update里传入一个别的变量,来替代cc_time,打包之后shader正常了。:joy: