Рендеринг изображения из GameObject во время выполнения - PullRequest
1 голос
/ 09 апреля 2019

Я пытаюсь сохранить GameObject (MainCamera) как изображение.Это мой код.

Camera camOV = mainCamera.GetComponent<Camera>();  
RenderTexture currentRT = RenderTexture.active;    
RenderTexture.active = camOV.targetTexture;
camOV.Render();
Texture2D imageOverview = new Texture2D(camOV.targetTexture.width, camOV.targetTexture.height, TextureFormat.RGB24, false);
imageOverview.ReadPixels(new UnityEngine.Rect(0, 0, camOV.targetTexture.width, camOV.targetTexture.height), 0, 0);
imageOverview.Apply();
RenderTexture.active = currentRT;    

// Encode texture into PNG
byte[] bytes = imageOverview.EncodeToPNG();

string name = string.Format("{0}_Capture{1}_{2}.png", Application.productName, "{0}",System.DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss"));
Debug.Log("Permission result: " +
NativeGallery.SaveImageToGallery(imageOverview, Application.productName + " Captures", name));

Проблема в том, что изображение не генерируется вообще с вышеуказанным кодом.Я что-то упустил?Ранее я пытался сделать снимок экрана с Texture2D and Screen.Это работает, однако, изображение, которое было больше, чем фактический размер, он должен быть.Как я могу разобраться?

...