У меня есть простой шейдер (.effect
файл в Cocos Creator
) со свойством цвета, который можно изменить в окне свойств материала. Проверьте образец кода и изображение для справки.
Как я могу сделать массив цветов? Я хочу иметь возможность указывать любое количество цветов в массиве в окне свойств материала.
CCEffect %{
techniques:
- passes:
- vert: vs
frag: fs
blendState:
targets:
- blend: true
rasterizerState:
cullMode: none
properties:
texture: { value: white }
alphaThreshold: { value: 0.5 }
color: { value: [1, 1, 1, 1], editor: { type: color }}
}%
CCProgram vs %{
// ...
}%
CCProgram fs %{
precision highp float;
#include <alpha-test>
#include <texture>
in vec4 v_color;
#if USE_TEXTURE
in vec2 v_uv0;
uniform sampler2D texture;
#endif
uniform Data
{
vec4 color;
};
void main()
{
vec4 o = vec4(1, 1, 1, 1);
#if USE_TEXTURE
CCTexture(texture, v_uv0, o);
#endif
o *= v_color;
ALPHA_TEST(o);
gl_FragColor = o;
}
}%
введите описание изображения здесь