
引言
哈喽大家好,我是亿元程序员,有小伙伴和我吐槽:
亿哥你好,老板说最近上面这款水果消除游戏又双叒叕非常火,又双叒叕让我抄一款。
游戏里,水果消除时有会一个高光效果,我寻思让AI帮我写一个,可是折腾好久都写不出来。
不是说现在AI很牛吗,怎么连个高光Shader效果都写不好?
**Shader?**按道理来说,图形学和数学基础对于AI来说简直小菜一碟,是不是小伙伴的打开方式不对?
言归正传 ,本期带大家一起来看看让AI帮我们写Shader效果的正确姿势是怎样的。
本文源工程可在文末获取,小伙伴们自行前往。
舞台搭建
最近这个水果消除游戏的确很火,笔者也简单搭建一个小场景,用来演示。
首先简单布置一下场景,包括背景、碰撞和主角西瓜。

其中 碰撞器用的是PolygonCollider2D多边形碰撞器拉的,这里笔者偷懒,建议用多段矩形碰撞器拼接。

然后简单添加个脚本,用来控制水果生成与下落。

最终舞台效果:

错误示范
既然 要探讨让AI 帮我们写Shader的正确姿势,那就说明有些姿势欠妥,下面笔者给大家示范一下,大家不要学,小伙伴们是不是也是这样操作的?
1. 开门见山
随便 找一个带agent模式的AI对话框,然后直截了当说出我们的需求:

CodeBuddy? 可能有小伙伴看到这就关闭了文章,道友请留步,AI写不好Shader有时候并不是大模型能力的问题,而是我们的路没指对。(PS:主要是咱经费不足了,它免费)
2. 初见端倪
咱AI还是反应非常快的,不得不得说科技改变世界,甚至还很暖心地为我生成了对应的材质和使用方法,虽然看起来好像有点误解了我的意思(3D?模型?)。

3. 跃跃欲试
既然 写好了,我们就切回去编辑器看看,非常熟悉的红色感叹号,这说明shader没写好,编译不成功。

看了下控制台,有报错,但是看不太懂?

看不懂 不要紧,谁制造的麻烦,就给谁来解决,我们把报错直接贴给AI。

再次回到我们的编辑器,如无意外还是依然报错。

4. 循环往复
根据 以往的经验,我们需要不停地循环1-3的步骤,直至没有报错,得到我们下面的画面(时间可能已经过去30分钟)。

5. 看看效果
我们 把材质复制给Sprite,看看是否能得到我们想要的高光效果。

很遗憾,西瓜不见了,变成了一坨紫色。

看一眼控制台,我就知道,又报错了。

6. 回炉重造
如无意外 就是最大的意外,AI是不是这样想的,"我写的东西肯定没问题,要有问题也是其他问题。"

能看到 这里的小伙伴,已经打败了70%的小伙伴,时间也过去了45分钟,别说高光效果,就连正常的效果都看不到。
放弃吧,下面我们看看正确的姿势。
正确姿势
其实 很多时候,并不是AI不会写,而是它并没有正确理解你的意思,或者它没有理解Cocos引擎的Shader的正确写法(可能AI都看不懂文档)。
毫不夸张地说 ,假如你让它用html写个高光的效果,那能够炫酷到天上去。
1. 提供模板
既然 AI搞不懂Cocos引擎的Shader正确格式,我们可以提供给它,让它抄。
在资源管理器 ,搜索sprite找到内置的sprite的shader,然后复制到assets目录,改个名字highlight。

2. 哪里跌倒就哪里站起来
选择 复制出来的shader,然后还是直截了当地说出我的需求,唯一不同的是限定了范围。

3. 似曾相识
历史总是惊人地相似,唯一的区别就是,这次是修改而不是创建。

偷偷看了一下,不仅有高光,还有流光和边缘光。

回到编辑器,很不错,一遍过。

4. 看看效果
这次 没有生成材质,通过资源管理器->assets->右键->创建->材质自己生成一个。

修改材质 ,在Effect 中找到高光shader并选择,勾选USE TEXTURE。

把材质挂到西瓜的自定义材质上。

终于看到效果了!!!

整体效果
我们把游戏效果实装到游戏里面看看。

结语
AI不是替代我们的工具,而是需要我们指明方向、给出规范,才能真正为我们所用的高效助手。
小伙伴们觉得呢?
本文实例工程 可通过私信 发送 高光 获取。
更多实战完整源码包含编辑器 已集成到亿元Cocos小游戏实战合集(已完结),感谢小伙伴们对创作的支持。
我是"亿元程序员",一位有着8年游戏行业经验的主程。在游戏开发中,希望能给到您帮助, 也希望通过您能帮助到大家。
AD:笔者线上的小游戏《打螺丝闯关》《贪吃蛇掌机经典》《重力迷宫球》《填色之旅》《方块掌机经典》大家可以自行点击搜索体验。
实不相瞒,想要个赞 和爱心 !请把该文章分享给你觉得有需要的其他小伙伴。谢谢!
推荐文章: