Это делается через
RenderTexture,
Camera.targetTexture и
Texture2D.EncodeToJPG либо
Texture2D.EncodeToPNG:
// Создаём временную рендер-текстуру
var renderTexture = RenderTexture.GetTemporary(Screen.width, Screen.height);
// Рендерим в неё картинку с камеры
camera.targetTexture = renderTexture;
camera.Render();
var active = RenderTexture.active;
RenderTexture.active = renderTexture;
{
// Превращаем рендер-текстуру в Texture2D
var texture = new Texture2D(renderTexture.width, renderTexture.height);
texture.ReadPixels(new Rect(0, 0, texture.width, texture.height), 0, 0);
texture.Apply();
}
RenderTexture.active = active;
RenderTexture.ReleaseTemporary(renderTexture);
// Превращаем текстуру в файл с помощью Texture2D.EncodeToJPG или Texture2D.EncodeToPNG
// Сохраняем на диск