从被攻击闪白shader到相关原创整理,以及相关学习资料整理

小白上手 shader 编程最佳实战!讲解effectmaterialcocos creator中的关系。
虽不能带你精通shader,但能让你从0到1的突破,能看懂或写一个简单的shader。

效果预览

实现原理

在着色器中,对每个像素点添加一个颜色值。

o.rgb = o.rgb + addColor.rgb;

接着写个定时器,切换一下材质。

private attackOne(render: cc.RenderComponent) {
    render.setMaterial(0, this.material_attacked);
    this.scheduleOnce(() => {
        render.setMaterial(0, this.material_normal);
    }, 0.1)
}

完~(误)

接下来讲讲 effectmaterialcocos creator 中的关系吧。

effect 是我们编写 shader 的地方, effect 中可能会有多个配置参数,不同的配置参数可以生成不同 material , material 挂载在 RenderComponent 上,对其产生效果。

例如,在分形着色器!卷积滤镜!这两篇文章中,对同一个 effect 生成了不同的 material

继承 RenderComponent 的组件有多个,只要修改对应的 material 就能实现我们的定义的 shader

不过需要注意的是,要基于默认材质去修改哦。

动手实践!在实践中成长!在模仿中学习!

以上为白玉无冰使用 Cocos Creator v2.2.2 开发"闪白特效"的技术分享。如果对你有点帮助,欢迎分享给身边的朋友。


完整代码
参考文章

更多相关原创

shader 动画 之 飘扬的旗帜

shader动画之loading效果

数学之美 - 分形着色器

笑容逐渐消失? shader 编程入门实战

使用卷积实现各种滤镜效果!

物理流体实现!

学习资料

最后,推荐几个学习shader编程的网站和贴子:


预告

最近在研究物理挖洞效果,关注【白玉无冰】,获取最新进展哦(挖坑)!

<img src="/uploads/default/original/3X/3/4/3413f7364a0efe60ba5fd814206bfda8163d2555.jpg" width=“258” height=“258”

19赞

:+1: really nice

真的是大神啊

功德无量,点赞

学习到了。

mark…

很棒,感谢分享

感谢分享,必须点赞

大佬加油,分享干货一时爽,一直分享一直爽:wink:

mark

markmark

mark!mark

666
666
666
666
666。

膜拜 mark

大佬流啤。。。。

mark mark

大佬,请问 在战斗中对一个角色(帧动画)用了闪白特效后 合批被打断了,有没有啥思路解决这个合批问题呢?

1赞

mark一下