Creator3D:shader_5分钟做出炫酷水面效果

前言

看过菜鸟前边文章的可能知道,菜鸟在前边已经实现了三种非常简单的水面效果,那么今天菜鸟有带来了一个,BlingBling的那种!

效果

咱们还是先来看看效果:

正文

1.实现原理


实现的原理和之前实现的噪声消融原理一样

  • 1.使用噪声图进行采样,
  • 2.获取采样得到r,g,b任意其中一个值
  • 3.与指定的阙值进行比较
  • 4.比较会有两种结果:
    • 结果一:显示正常的水面,可以设置适当的透明度,达到水面透明的效果
    • 结果二:显示白色的纹理,透明度也可以适当的调整
  • 5.对uv进行x,y坐标的偏移实现动态效果

2.代码

vec4 frag () {
  vec4 col = mainColor * texture(mainTexture, v_uv);
  vec2 uv=v_uv;
  uv.x+=cc_time.x*0.005;
  uv.y+=cc_time.x*0.005;
  vec4 noiseCol=texture(noiseTexture, uv);
  if(noiseCol.r>0.9){  
    col=vec4(1.0,1.0,1.0,0.7);
  }else{   
     col.a=0.6;
  }
  col = CC_APPLY_FOG(col, factor_fog);
  return CCFragOutput(col);
}

地址

  • 微信公众号:搬砖小菜鸟

  • 扫码关注公众号,发送"噪声水面"可获取源码
1赞


2
我直接打开项目运行效果是一堆白点,而不是效果图那种连成一片的白
请问大佬应该如何调整?谢谢!

你是用那个版本打开的

3.5.1

估计可能是引擎版本的问题,我大概记得这个效果好像是Cocos Creator3D 做的

您的源码是3.1.0的

你可以用对应版本打开试试