creator2.4.3 写了一个自定义的effect, 在微信小程序上运行黑屏, 也没有报错(我故意写错有看到报错)
在PC, 手机浏览器, 微信开发工具里都是好好的, 是有什么细节要处理的吗?
另外, 大家有没有, 好看的漩涡和时空隧道的effect, 有的麻烦推荐 、分享一下。
代码如下(时空隧道):
// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
CCEffect %{
techniques:
- passes:
- vert: vs
frag: fs
blendState:
targets:
- blend: true
rasterizerState:
cullMode: none
properties:
texture: { value: white }
alphaThreshold: { value: 0.5 }
}%
CCProgram vs %{
precision highp float;
#include <cc-global>
#include <cc-local>
in vec3 a_position;
in vec4 a_color;
out vec4 v_color;
#if USE_TEXTURE
in vec2 a_uv0;
out vec2 v_uv0;
#endif
void main () {
vec4 pos = vec4(a_position, 1);
#if CC_USE_MODEL
pos = cc_matViewProj * cc_matWorld * pos;
#else
pos = cc_matViewProj * pos;
#endif
#if USE_TEXTURE
v_uv0 = a_uv0;
#endif
v_color = a_color;
gl_Position = pos;
}
}%
CCProgram fs %{
precision highp float;
#include <alpha-test>
#include <texture>
#include <cc-global.chunk>
in vec4 v_color;
#if USE_TEXTURE
in vec2 v_uv0;
uniform sampler2D texture;
#endif
vec2 cc_nativeSize;
void mainImage(out vec4 o, vec2 d){
vec2 t=vec2(cc_time.x*3., 2.);
vec2 v=0.1*cos(t)-0.3;
float w=length(d=d/cc_nativeSize.y-.9-v);
float k=25.;
int y=int(mod(k/w+ k*t, 9.));
vec4 xx = exp2(vec4(y*7+int(abs(mod(k*(atan(d.x, d.y)+v), 13.)-6.))));
vec4 m = mod((y>3?35552534e8:56869384.)/xx, 2.);
o=exp(-k*abs(w+v.x))+cos(vec4 (y, d, 1))*w*w*floor(m)+0.2;
}
void main () {
cc_nativeSize = vec2(450., 512);
mainImage(gl_FragColor, v_uv0.xy*cc_nativeSize.xy);
}
}%
运行效果如下:(漩涡跟时光隧道的特效在微信小程序上都是黑屏, 以下视频是PC上的)
隧道效果.zip (1.4 MB)