在这里插入图片描述

引言

这...看起来还行

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

“跟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片段拷贝到项目里面替换

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获取。


亿元程序员
10 声望26 粉丝

关注"亿元程序员",给大家分享游戏开发经验。