Unity3D new ui Mask运行时生成的Texture2D表现不正常

时间:2015-12-15 10:45:23

标签: unity3d mask texture2d

在我的项目中,我有一个在运行时生成的texture2D,以及一个texture2D,它存储在我的项目中,而不是在运行时生成,都在掩码下。当我尝试增加它们的比例并使用此蒙版下的滚动矩移动它们时,它在某些设备上表现得很奇怪。运行时生成的纹理变得部分不可见,但另一个纹理根据需要起作用。

我已经尝试更改纹理格式,过滤模式以及纹理所具有的所有属性。我已经将运行时生成的纹理配置为与预加载的纹理具有完全相同的属性。但它仍然表现相同。

在我的代码中,我使用Resources.LoadAll()从指定的文件夹加载所有纹理,然后将每个加载纹理的每个可见像素更改为白色。 maskTexturesObj是一个由Resources.LoadAll()方法生成的Object []数组。 这是我创建纹理的代码:

        processedTexture = maskTexturesObj[i] as Texture2D;
        for (int y = 0; y < processedTexture.height; y++)
        {
            for (int x = 0; x < processedTexture.width; x++)
            {
                if (processedTexture.GetPixel(x, y).a > 0)
                    processedTexture.SetPixel(x, y, Color.white);
            }
        }
        processedTexture.Apply();
        lessonPartImage.sprite = Sprite.Create(processedTexture, new Rect(0, 0, processedTexture.width, processedTexture.height), Vector2.zero);

结果在截图上: enter image description here

这就是它应该是:enter image description here

0 个答案:

没有答案