如何获得精灵的平均颜色? (Unity3d)

时间:2015-11-12 01:38:14

标签: unity3d

我完成了我投入资产商店的资产。现在,其中一个功能需要精灵的平均颜色。现在我有一个公共颜色来找到平均颜色,用户可以使用颜色选择器或色轮或其他任何东西来选择他们认为精灵的平均颜色。我想这样做,所以脚本自动计算平均精灵颜色,因此通过消除用户猜测平均精灵颜色的时间消除人为错误并提高效率来提高准确性。

1 个答案:

答案 0 :(得分:4)

在Unity论坛上有关于它的帖子。 Here链接。答案是:

Color32 AverageColorFromTexture(Texture2D tex)
{

        Color32[] texColors = tex.GetPixels32();

        int total = texColors.Length;

        float r = 0;
        float g = 0;
        float b = 0;

        for(int i = 0; i < total; i++)
        {

            r += texColors[i].r;

            g += texColors[i].g;

            b += texColors[i].b;

        }

        return new Color32((byte)(r / total) , (byte)(g / total) , (byte)(b / total) , 0);

}