cocos creator 简单的水波纹效果
用到的知识点主要是三角函数里面的知识:y = a*sin(wX + b) + c三角函数的周期是:2π / wb: 函数图像左右移动: 记住左加右减就对了a: 调整最大值c: 上下移动图像// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.CCEffect %{techniques:- p...
·
用到的知识点主要是三角函数里面的知识:
y = a*sin(wX + b) + c
三角函数的周期是:2π / w
b: 函数图像左右移动 : 记住左加右减就对了
a: 调整最大值
c: 上下移动图像
// 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>
in vec4 v_color;
uniform ARGS {
vec2 iResolution;
float time;
}
in vec2 v_uv0;
uniform sampler2D texture;
void main () {
vec2 uv = v_uv0.xy;
uv += vec2(0.,0.05 * cos(uv.x * 10. + time * 3.));
gl_FragColor = texture2D(texture,uv);
}
}%
这里是一个专注于游戏开发的社区,我们致力于为广大游戏爱好者提供一个良好的学习和交流平台。我们的专区包含了各大流行引擎的技术博文,涵盖了从入门到进阶的各个阶段,无论你是初学者还是资深开发者,都能在这里找到适合自己的内容。除此之外,我们还会不定期举办游戏开发相关的活动,让大家更好地交流互动。加入我们,一起探索游戏开发的奥秘吧!
更多推荐
已为社区贡献3条内容
所有评论(0)