Сообщение от Evgen
Откуда инфа на счет скорости?
|
Делал запись видео из юнити в файл. При рендере в текстуру в цикле можно играть в игру, а при использовании скриншотов в игру уже проблемно поиграть.
Создаешь новый слой и назначаешь тем объектам, которые нужно рендерить. Слой это справа от "Tag".
Создаешь новую камеру для рендера. Ставишь clearFlags: SolidColor; Culling Mask: имя слоя, который ты создал и назначил объектам; Projection: подойдет вроде любой, но лучше поставить ортографический; Size: такой что бы все объекты попали в камеру, но при этом что бы меньше было пустоты по бокам (короч 1.2 подойдет). Еще у камеры можно в Background задать черный или яркозеленый цвет что бы потом обрезать фон (как сделать прозрачный фон хз).
Создаешь в редакторе (можно и в коде, но зачем?) RenderTexture и назначаешь её в TargerTexture у камеры, которая будет рендерить.
Вешаешь скрипт на рендер камеру, который ниже (можно и свой через элементы меню и прочее, но это уже сам переделывай).
?? Вроде всё ??
Запускаешь игру@смотришь картинку в папке.
using UnityEngine;
public class qwer : MonoBehaviour {
void Start() {
int sqr = 256;
Camera camera = GetComponent<Camera>();
RenderTexture renderTexture = camera.targetTexture;
camera.Render();
RenderTexture.active = renderTexture;
Texture2D tex = new Texture2D(sqr, sqr, TextureFormat.RGB24, false);
tex.ReadPixels(new Rect(0, 0, sqr, sqr), 0, 0);
tex.Apply();
byte[] bytes = tex.EncodeToPNG();
System.IO.File.WriteAllBytes(Application.dataPath + "/" + "icon.png", bytes);
}
}