3d人物模型帮派区分

游戏很多地方需要3D人物进行帮派区分,
比如同是兽人,A玩家兽人穿的衣服是红色主题,B玩家是蓝色主题的。

我的想法如下:
每个模型原贴图之外,相应的设置一个灰度图:
然后进行代码如下:

Image* skin = new Image();
        skin->initWithImageFile("monguger.tga");//这是原纹理
        Image* huidu = new Image();
        huidu->initWithImageFile("huidu.png");//这是灰度纹理

        unsigned char *pData = skin->getData();
        unsigned char *pHuiduData = huidu->getData();
        int iIndex = 0;
        for (int i = 0; i < skin->getHeight(); i++)
        {
            for (int j = 0; j < skin->getWidth(); j++)
            {
                int iBPos = iIndex;
                unsigned int iB = pData;
                iIndex++;
                unsigned int iG = pData;
                iIndex++;
                unsigned int iR = pData;
                iIndex++;
                iIndex++;
                //如果灰度图颜色不是0,0,0,则把原图设置为灰度图的颜色
                if (pHuiduData != 0 && pHuiduData != 0 && pHuiduData != 0 )
                {
                    pData = pHuiduData;
                    pData = pHuiduData;
                    pData = pHuiduData;
                }
            }
        }

        Texture2D *tex = new Texture2D();
        tex->initWithImage(skin);
        monster->setTexture(tex);


```


有木有别的方法更省内存,和CUP的????求厉害的人指点

:2::2::2::2::2::2: