如何设置Armature动画的亮度?

像这样的效果,只有白虎的精灵动画和白虎的技能效果是高亮,

其他角色包括背景图亮度都降低

这个效果如何来做啊?

如何设置Armature动画的亮度?

帮顶,同问。猜应该是用遮罩实现的吧

不好遮罩,固定区域,可以用遮罩图片来创建遮罩层,但是动画不好遮罩的

有做libgdx的兄弟告诉我需要shade,每一个纹理都要绑定shade来设置亮度,但是在cocos2dx里,不会弄啊

有没有高手来指点指点

    void addArmatureGray(cocostudio::Armature* pArmature)
    {
        auto boneDic = pArmature->getBoneDic();
        cocos2d::Map<std::string, cocostudio::Bone*>::iterator it;
        it = boneDic.begin();
        for ( ; it != boneDic.end(); ++it )
        {
            cocos2d::Node *node = (it->second)->getDisplayRenderNode();

            if (nullptr == node)
                continue;


            cocostudio::Skin *skin = static_cast<cocostudio::Skin *>(node);
            ///-----addCustome shader
            //if(shaderState){

            GLchar* pszFragSource =
                "#ifdef GL_ES \n \
                precision mediump float; \n \
                #endif \n \
                uniform sampler2D u_texture; \n \
                varying vec2 v_texCoord; \n \
                varying vec4 v_fragmentColor; \n \
                void main(void) \n \
                { \n \
                // Convert to greyscale using NTSC weightings \n \
                vec4 col = texture2D(u_texture, v_texCoord); \n \
                float grey = dot(col.rgb, vec3(0, 0, 0)); \n \
                gl_FragColor = vec4(grey, grey, grey, col.a); \n \
                }";
            cocos2d::GLProgram* pProgram = new cocos2d::GLProgram();
            //pProgram->initWithByteArrays(cocos2d::ccPositionTextureColor_vert, pszFragSource);
            pProgram->initWithByteArrays(cocos2d::ccPositionTextureColor_noMVP_vert, pszFragSource);
            (skin)->setShaderProgram(pProgram);
            CHECK_GL_ERROR_DEBUG();  

            (skin)->getShaderProgram()->bindAttribLocation(cocos2d::GLProgram::ATTRIBUTE_NAME_POSITION, cocos2d::GLProgram::VERTEX_ATTRIB_POSITION);  
            (skin)->getShaderProgram()->bindAttribLocation(cocos2d::GLProgram::ATTRIBUTE_NAME_COLOR, cocos2d::GLProgram::VERTEX_ATTRIB_COLOR);  
            (skin)->getShaderProgram()->bindAttribLocation(cocos2d::GLProgram::ATTRIBUTE_NAME_TEX_COORD, cocos2d::GLProgram::VERTEX_ATTRIB_TEX_COORD);  
            CHECK_GL_ERROR_DEBUG();  

            (skin)->getShaderProgram()->link();  
            CHECK_GL_ERROR_DEBUG();  

            (skin)->getShaderProgram()->updateUniforms();  
            CHECK_GL_ERROR_DEBUG();  
        } //while (0);  
    }

上面这个代码是吧Armature灰化的,有人知道如何修改成调节亮度的么?

:14:其实 动画 也可以遮罩的 粒子也是可以遮罩的。。。。当然了 shader 改下也可以

还请教动画如何遮罩?有没有资料?