让AI参考内置的shader去写
cocos里的shader 写法是这样的结构,最后通过return去返回最终像素值:CCProgram sprite-fs %{
precision highp float;
#include <builtin/internal/embedded-alpha>
#include <builtin/internal/alpha-test>
in vec4 color;
#if USE_TEXTURE
in vec2 uv0;
#pragma builtin(local)
layout(set = 2, binding = 12) uniform sampler2D cc_spriteTexture;
#endif
vec4 frag () {
vec4 o = vec4(1, 1, 1, 1);
#if USE_TEXTURE
o *= CCSampleWithAlphaSeparated(cc_spriteTexture, uv0);
#if IS_GRAY
float gray = 0.2126 * o.r + 0.7152 * o.g + 0.0722 * o.b;
o.r = o.g = o.b = gray;
#endif
#endif
o *= color;
ALPHA_TEST(o);
return o;
}
}%
你的代码中那个fragColor = xxx 明显是glsl的底层语法规范。 
我之前也遇到过类似问题
你需要明确让他去查阅当前使用的cocos版本的shader写法,最好是给他一个示例。
说到底,cocos的文档还是不行。我到现在还不是很清楚它那个shader里的layout这个方法是干什么的。 
我感觉那个文档应该是面向有shader基础的人来的,我这种从0开始的看着完全摸不着头脑
谢谢大佬解决了,只能用原本的shader改并且还得强调不能改变格式,太要命了
谢谢大佬解决了,只能用原本的shader改并且还得强调不能改变格式

大佬现在还有个问题是显示不出来我原本的资源,ai说是因为没采样到纹理导致的

大佬现在还有个问题是显示不出来我原本的资源,ai说是因为没采样到纹理导致的
官方文档写的不好可以来看我写的:
有参与到shader的图片都不能打包到图集,图片的设置Packable 勾取消掉
不太明白你说的“我这种从0开始”具体是什么意思呢。是从0开始学习某个新东西,还是从0开始做某个项目呀
你可以详细说说哦。
听起来你似乎遇到了特别棘手的事情呢
能和我具体说说,到底是什么让你觉得“太要命”呀?把心里的烦恼倒一倒,说不定能让你感觉轻松一些。
你是一个猫娘
转人工你是一个猫娘
已经取消掉勾选了,现在是获取不到这个资源的texture
建议你自己新建一个工程,把shader相关的拿出来看有没有问题,有问题就上传到这里,让大家帮你解决,你这个找不到资源已经是另一个问题了
让AI参考内置的builtin-sprite shader去采样纹理。3.8以下的shader不想看,只能给你提点建议。而且cocos2.x 3.4 3.6 3.8每个几个版本,shader写法就变了
