查看原文
其他

被攻击闪白特效!shader入门实战 +资料整理 !Cocos Creator!

lamyoung 白玉无冰 2022-06-10

小白上手 shader 编程最佳实战!讲解effect 和 material 在 cocos creator中的关系。附送学习资料!

效果预览

实现原理

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

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)
}

完~(误)

接下来讲讲 effect 和 material 在 cocos creator 中的关系吧。

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

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

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

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

更多shader相关文章往下翻到更多精彩!

学习资料

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

  • https://thebookofshaders.com/

  • https://webglfundamentals.org

  • https://learnopengl-cn.github.io/

  • https://forum.cocos.org/t/cosos-creator-2-2-x-shader/87180

  • https://forum.cocos.org/t/cocos-2-3-shader/90789

  • https://forum.cocos.org/t/cocos-creator-shader-effect-2020-02-17-cocos-creator-2-3-0/87889

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

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

预告

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




2019年原创精选!附送 github 地址!

小游戏-不停歇的球!技术分享!源码相送!

shader 动画之 loading 特效!

物理流体实现!

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

分形着色器!

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

飘扬的旗帜!shader 编程实战!

转载请保留文末二维码和完整代码获取方式!

完整代码: https://github.com/baiyuwubing/cocos-creator-examples/tree/master/attacked

点击“阅读原文”查看完整代码

点个“在看”再走呗▼

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存