【100个Cocos实例】用ChatGPT帮我改写Shader靠谱吗?

引言

这...看起来还行

昨天在星球看到星友的提问

"跟ChatGPT学习图形学能速成吗?"

笔者对这个问题也非常感兴趣 ,于是本文探讨 一下,用ChatGPT帮我改写Shader靠谱吗?

本文源工程可在文末获取,小伙伴们自行前往。

1.ChatGPT

为避免还有小伙伴不认识ChatGPT,这里做一下简单科普。

ChatGPT是由OpenAI开发的一种基于GPT(Generative Pre-trained Transformer)架构的语言模型。GPT是一种先前训练的模型,其目标是通过大规模的语言数据集学习语言的模式,然后可以用于执行各种自然语言处理任务,包括生成文本、回答问题、摘要生成等。

总的来说,它可以用于聊天、回答问题、提供信息 ,以及执行其他 与语言相关的任务

就是,你懂的,它可能懂 ,你不懂的,它可能也懂

下面我们一起来看下它靠不靠谱。

2.ChatGPT靠不靠谱

为了探讨ChatGPT靠不靠谱,笔者通过一个例子来看看。

彩虹 在现实生活中大家都见过 ,不知道大家有没有尝试过在游戏里面造一道彩虹呢?

1.环境

引擎版本:Cocos Creator 3.8.1

编程语言:TypeScript

2.资源准备

首先简单地用几秒钟在3dMax中做一个彩虹形状的模型。

导出FBX放到工程里面去。

首先创建一个默认的shader

依次将FBX做成预制体 、添加材质球 、设置自定义shader

资源准备完成

资源准备好了,七彩斑斓的彩虹怎么实现呢?

3.让ChatGPT修改shader

首先我们看下默认生成的shader,用的通用的顶点着色器 ,以及简单的片元着色器片段。

二话不说,我们把片元着色器片段丢给ChatGPT。

你看,它读懂了 这段shader,并且改好了发给我。

我们一起来看看 靠不靠谱,把shader片段拷贝到项目里面替换

ini 复制代码
CCProgram unlit-fs %{
  precision highp float;
  #include <legacy/output>
  #include <legacy/fog-fs>

  in vec2 v_uv;
  in vec3 v_position;

  uniform sampler2D mainTexture;

  uniform Constant {
    vec4 mainColor;
  };

  vec4 frag () {
    // 改变下面的代码以调整彩虹的颜色
    float frequency = 6.0; // 调整此值以改变彩虹的颜色数量
    vec3 rainbowColor = 0.5 + 0.5 * cos(frequency * v_uv.x + vec3(0, 2, 4));

    // 将彩虹颜色与 mainColor 相乘
    vec4 finalColor = vec4(rainbowColor, 1.0) * mainColor;

    return CCFragOutput(finalColor);
  }
}%

编译成功,没有报错。

再看我们的材质球,嗯,没错,是彩虹口味的。

再看我们的彩虹,已经七彩斑斓了。

4.效果演示

3.你怎么看

使用ChatGPT可能有一些潜在的好处,特别是在以下方面:

  1. 技术文档生成: 你可以使用ChatGPT来生成技术文档、代码注释或其他开发文档,从而提高文档的质量和效率。

  2. 问题解答: ChatGPT可以用于回答开发中的问题,提供有关特定技术、框架或编程语言的建议和解释。

  3. 创意灵感: 如果你需要一些创意灵感或者想要尝试新的开发思路,可以与ChatGPT进行对话,从中获取一些建议。

  4. 社交媒体内容生成: 可以使用ChatGPT生成有趣的、教育性的内容,吸引更多的读者。

然而,需要注意的是,ChatGPT并不是 完美的,有时可能会生成不准确或不合适 的内容。在使用时要谨慎 ,并最好在实际应用中验证生成的文本。

ChatGPT靠不靠谱?总的来说,你靠谱,它就靠谱。

结语

近日,笔者受麒麟子 (深耕游戏引擎与游戏开发15年 ,每一滴干货都源自商业项目 实践)的邀请,以嘉宾 的形式加入星球,星球主要用于:

  • 导师教学
  • 学习问题交流
  • 新人入门与进阶
  • 招聘与就业机会分享
  • 面试题集锦
  • 面试经验分享

总的来说,星球的目标 只有一个:提供优质内容,搞学习 。感兴趣的小伙伴可以私信"星球"了解和捧场。

我是"亿元程序员",一位有着8年游戏行业经验的主程。在游戏开发中,希望能给到您帮助, 也希望通过您能帮助到大家。

AD:笔者线上的小游戏《贪吃蛇掌机经典》《重力迷宫球》《填色之旅》大家可以自行点击搜索体验。

实不相瞒,想要个在看 !请把该文章分享给你觉得有需要的其他小伙伴。谢谢!

推荐专栏:

你知道王者荣耀是怎么实现技能范围指示器的吗?

8年主程手把手打造Cocos独立游戏开发框架

和8年游戏主程一起学习设计模式

从零开始开发贪吃蛇小游戏到上线系列

本文源工程 可通过私信发送Rainbow获取。

相关推荐
前端李易安28 分钟前
Web常见的攻击方式及防御方法
前端
PythonFun1 小时前
Python技巧:如何避免数据输入类型错误
前端·python
hakesashou1 小时前
python交互式命令时如何清除
java·前端·python
天涯学馆1 小时前
Next.js与NextAuth:身份验证实践
前端·javascript·next.js
HEX9CF1 小时前
【CTF Web】Pikachu xss之href输出 Writeup(GET请求+反射型XSS+javascript:伪协议绕过)
开发语言·前端·javascript·安全·网络安全·ecmascript·xss
ConardLi1 小时前
Chrome:新的滚动捕捉事件助你实现更丝滑的动画效果!
前端·javascript·浏览器
ConardLi1 小时前
安全赋值运算符,新的 JavaScript 提案让你告别 trycatch !
前端·javascript
凌云行者2 小时前
使用rust写一个Web服务器——单线程版本
服务器·前端·rust
华农第一蒟蒻2 小时前
Java中JWT(JSON Web Token)的运用
java·前端·spring boot·json·token
积水成江2 小时前
关于Generator,async 和 await的介绍
前端·javascript·vue.js