Скриншот камеры Unity на мобильном телефоне, полный шум - PullRequest
0 голосов
/ 21 декабря 2018

Я хочу сделать скриншот, используя другую камеру в Unity.Я прочитал пример проекта и смотрел это видео.

И теперь я могу сделать снимок экрана и сохранить его где-нибудь при использовании Unity Editor.Но когда я встраиваю его в свои устройства Android, изображения становятся полными шума.

enter image description here

Вот мой код:

void Awake()
{
    myCamera = GetComponent<Camera>();  // Camera is disable in the scene
    myCamera.targetTexture = new RenderTexture(Screen.width, Screen.height, 24);
}

public void takeScreenShot(){
    myCamera.enabled = true;
    StartCoroutine(Capture());
}

IEnumerator Capture(){
    yield return new WaitForEndOfFrame();

    Texture2D result = new Texture2D(myCamera.targetTexture.width, myCamera.targetTexture.height, TextureFormat.RGB24, false);
    myCamera.Render();
    RenderTexture.active = myCamera.targetTexture;

    Rect rect = new Rect(0, 0, myCamera.targetTexture.width, myCamera.targetTexture.height);
    result.ReadPixels(rect, 0, 0);

    byte[] byteArray = result.EncodeToPNG();
    string filePath = Application.persistentDataPath + "/ScreenShot.png";
    System.IO.File.WriteAllBytes(filePath, byteArray);

    Debug.Log("ScreenShot saved to: " + filePath);

    Destroy(result);
    myCamera.enabled = false;
}

1 Ответ

0 голосов
/ 31 декабря 2018

Наконец я узнал, что здесь не так.«Очистить флаги» моей камеры был установлен на «Не очищать».Изменение Clear Flags на «Только глубину» устраняет проблему.

...