Я действительно не понимаю, почему скриншот должен быть вверх ногами, но я думаю, вы должны называть его, например, после
screenShot.ReadPixels(new Rect(0, 0, resWidth, resHeight), 0, 0);
screenShot = FlipTextureVertically(screenShot);
, но могут быть более эффективные способы сделать это.
Например, не нужно создавать новый Texture2D
, а вместо этого изменять только пиксели в том, который у вас уже есть, например
public static void FlipTextureVertically(Texture2D original)
{
var originalPixels = original.GetPixels();
Color[] newPixels = new Color[originalPixels.Length];
int width = original.width;
int rows = original.height;
for (int x = 0; x < width; x++)
{
for (int y = 0; y < rows; y++)
{
newPixels[x + y * width] = originalPixels[x + (rows - y -1) * width];
}
}
original.SetPixels(newPixels);
original.Apply();
}
, и использовать его как
screenShot.ReadPixels(new Rect(0, 0, resWidth, resHeight), 0, 0);
FlipTextureVertically(screenShot);