噪聲紋理之消融效果! shader 入門精要! Cocos Creator Shader !

溶解!shader 入門實戰之噪聲紋理!附完整項目!

效果

原理

什麼是噪聲紋理?

噪聲紋理的特性是不可預測性的隨機。

個人理解噪聲紋理就是一張圖片,每個像素點顏色值(rgba)是按照一定的隨機性分佈的。

怎麼生成噪聲紋理?

  • 工具生成
  • 代碼生成
  • 網上下載(這裏用的噪聲紋理是網上下載的)
  • 其他

怎麼實現消融?

根據噪聲紋理的顏色值和消融閾值(noiseThreshold)判斷,當達到閾值時,丟棄(discard)該片元像素。

vec4 noise = vec4(1, 1, 1, 1);
CCTexture(textureNoise, v_uv0*3.0, noise);
if(noise.r < noiseThreshold){
  discard;
}

加點內描邊

還可以混點顏色,對閾值附近的像素點加一些顏色,就能實現燃燒效果啦。

float t = 1.0 - smoothstep(0.0, colorWidth, noise.r - noiseThreshold);
vec3 burnColor = lerp(burnColorInner.rgb, burnColorOut.rgb, t);
o.rgb = lerp(o.rgb, burnColor.rgb,  t*step(0.0001, noiseThreshold ));

其他

shader 入門資料可以參考這篇文章

項目代碼在 2.4.x 目錄下的 demo04

小結

噪聲紋理 noise ! 消融效果 dissolveshader

以上爲白玉無冰使用 Cocos Creator v2.4 實現 "噪聲紋理之消融效果(dissolve)" 的技術分享。歡迎分享給身邊的朋友!

天下事有難易乎?爲之,則難者亦易矣;不爲,則易者亦難矣。人之爲學有難易乎?學之,則難者亦易矣;不學,則易者亦難矣。

更多

流體之 LiquidFun 流體紋理 shader
3D瞄準器
gizmo與多邊形裁剪

更多精彩
完整代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章