본문 바로가기
개발/Unity

문제해결)Unity)ReadPixels was called to read pixels from system frame buffer, while not inside drawing frame.

by 테샤르 2022. 11. 2.

ReadPixels was called to read pixels from system frame buffer, while not inside drawing frame.

 

UnityEngine.Texture2D:ReadPixels (UnityEngine.Rect,int,int)

를 사용하는 과정에서 발생한 이슈이다.

 

반응형

 

텍스쳐를 생성하고 ReadPixels을 하는 과정에서 발생한 오류로 

 

모두 다 그려지고 난 이후에 ReadPixels을 해줘야하는데 그렇지 않은 경우이다.

이 과정을 방지하기 위해서는 ReadPixels를 하기전에 WaitForEndOfFrame을 호출해주면 된다.

 

public IEnumerator TakeSnapShotAndSave()
{
	...
    yield return new WaitForEndOfFrame();
    
    ...
    Texture2D texture = new Texture2D(width, height, TextureFormat.RGB24, false);
    texture.ReadPixels(pixelsRect, 0, 0);
    
    ...
}

 

 

★☆☆☆☆

 

반응형

댓글