查看原文
其他

Cocos Creator3D武器发光Shader,其实我就随便弄了一下

麒麟子TM 麒麟子随笔 2022-06-10

零、别看广告,看疗效 

虽然标题叫武器发光,其实它还能实现魔法护盾、动态光柱等效果。别说话,看图!

阿子最近沉迷于学英语和写代码,可HIGH了。

一看时间,竟然已经十天没发稿了。

但这不能怪阿子,要怪就怪Cocos Creator 3D可玩性太高了,我竟然有一丝丝沉迷。

突然好想轮播一遍影帝们的台词

  • 渣渣辉:你知道我这五年是怎么过的吗?这五年.....我每天都躲在家里玩Cocos Creator 3D,你是不知道,它对一个男人来说,有多重要。

  • 轱舔乐:大嘎吼,我系轱舔乐,介里有磊没有玩过的船新版本,几需三番钟,磊造会干我一样,爱向节款引擎。

  • 山鸡:是兄弟,就来砍我,我在Cocos Creator 3D等你!

好了,不闹了。

但话说回来,经过一个多月的把玩,我觉得Cocos Creator 3D可玩性非常高。

  • 1、在H5领域,Cocos Creator 3D是现今唯一一款从设计之初就从头到尾运用ECS(entity component system)架构的引擎。

  • 2、有很多效果待开发,新鲜感十足。

  • 3、搞不定的地方就翻源码。

  • 4、从学习方面来说,它就是一款开源的Unity3D。

  • 5、研究它,能够满足我“抄一个Unity3D引擎"的梦。

对于很多人来说,他可能精通UE4,也可能精通Cocos。但它没有机会精通Unity3D。

为什么?因为你看不到代码啊!引擎应用层框架之下,是你看不到的汪洋大海。

如果你不一窥究竟,那终将只是匆匆过客,来去无痕。


一、单张纹理实现动态特效的用途

3D游戏的效果实现与2D截然不同。2D游戏只需要美术出好图,效果就会很棒。但在3D游戏中,如果程序员对引擎不了解,不能充分利用Shader来实现一些强大的效果,单纯依靠美术堆叠。 容易出现以下问题

1、模型量大,渲染吃力

2、贴图过多,包体过大

3、模型大、贴图多、效果依然不好

这就是3D和2D的区别,如果发挥不好,可能做好的3D模型和贴图进了游戏场景,效果就要大打折扣了。

对于单线纹理能够实现的效果,远远不止如此。配合强大的Shader我们可以实现很多粒子效果和序列帧效果可以做到的事。它的优势很明显

1、比粒子效果更省GPU

2、比序列帧更省包体和内存

3、在没有美术给资源的情况,靠程序员调参数就可以实现。

对于1和2,其实很多团队并不在意。 但对于第3个优势,可能就说到很多中小团队或者独立开发者的心坎里了。可以说,这是性价比最高的方式。

可能有的人说,我就做2D游戏,我不做3D。研究这个干什么?

阿子可以告诉一个点:如果你在3D里面,锁定摄像机来做2D游戏,那么你将拥有光照、Shader等所有3D可以用上的能力,并且不影响你2D游戏的品质。 


二、实现原理和制作方法

如果你掌握了基本的Shader编写,明白Shader中纹理采样,UV等内容,那理解这个原理就非常简单了。 我们用的原理就是UV动画。

需要的原材料

1、发光图片 阿子随便找的一张(GIF中黄色是通过材质调色改变的)

2、噪声图

核心代码实现步骤

  • 1、使用UV采样噪声图

  • 2、将噪声图的r,g通道值加上原来的UV,进行发光图采样。采样的时候需要乘以一个缩放因子,控制偏移的强弱。

我们知道,UV采样是对应像素值的。如果我们对UV进行了干扰,那我们采样出来的像素值就是有偏移的。自然就可以形成与原图不一样的不扭曲效果。

那怎么让它动起来呢?

我们只需要分别对噪声图采样和发光图的UV根据cc_time.x进行偏移(乘以一个因子即可控制偏移速度),就能得到动起来的效果。


三、源码获取

说再多也是白搭,反正原理就这么简单,大家想白嫖的其实就是代码。阿子给大家放在了开源框架qfw里了。不知道qfw是什么的,公众号主菜单页面回复  全都要 即可获得相关链接查看。

qfw中的案例Demo均需要阿子从自己的项目中剥离过去,所以需要一定的时间。

如果点击进去没有发现武器发光(Weapon Glow)案例,表示阿子还没有来得及发布,还请耐心等待,等不及的朋友欢迎私聊催更。


四、下节预告

我要预告一下下一篇内容,因为本篇内容和下一篇的内容,各类项目必考。下一篇是教大家模拟实现大气折射(也叫空间扭曲,热力扭曲等名称),看红箭头部分。还没有关注阿子的赶紧关注,阿子会继续分享大家用得上的经验和技巧。


关注一下

这里总有你要的


阿子的文章比较随性,但是很真实。不会刻意取材,迎合哪类读者。阿子想给大家分享的东西有很多,包括但不限于教程、代码、经验、Shader、商机。喜欢的话,就关注一下吧。


求一波

关注、点赞、在看、评论、转发

你的支持

就是阿子写作动力的源泉



读者越多

阿子写作的动力就会越强

你们看到的内容也将更多

你身边的朋友也能多一个获得信息的地方

这是一个三方共赢的操作

何乐而不为呢?


还是太暗了,阿子要做自己的太阳,照亮诗和远方。



全都要

很多小伙伴表示不知道如何获得本公众号的源码,看到上面的三个字了吗,公众号主菜单页面回复‘全都要‘即可获得你想要的全部

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

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