- Creator: 3.8.5
- 浏览器:chrome
已知动态合图会引起effect中的uv偏移,需要设置图片的packable=false。故提问deepseek有没有不需要设置packable的方法,给出如下代码
CCProgram sprite-vs %{
precision highp float;
#include <builtin/uniforms/cc-global>
#if USE_LOCAL
#include <builtin/uniforms/cc-local>
#endif
#if SAMPLE_FROM_RT
#include <common/common-define>
#endif
// 添加 cc_spriteTexture_ST 的 uniform 声明
uniform vec4 cc_spriteTexture_ST;
in vec3 a_position;
in vec2 a_texCoord;
in vec4 a_color;
out vec4 color;
out vec2 uv0;
vec4 vert () {
vec4 pos = vec4(a_position, 1);
#if USE_LOCAL
pos = cc_matWorld * pos;
#endif
#if USE_PIXEL_ALIGNMENT
pos = cc_matView * pos;
pos.xyz = floor(pos.xyz);
pos = cc_matProj * pos;
#else
pos = cc_matViewProj * pos;
#endif
// 应用纹理的缩放和偏移
uv0 = a_texCoord * cc_spriteTexture_ST.xy + cc_spriteTexture_ST.zw;
#if SAMPLE_FROM_RT
CC_HANDLE_RT_SAMPLE_FLIP(uv0);
#endif
color = a_color;
return pos;
}
}%
试验之后发现cc_spriteTexture_ST的值都是0,应该是没有自动设置值。是哪里还需要配置,还是ai给的是不存在的答案,看官方文档也没有cc_spriteTexture_ST的说明