Показать сообщение отдельно
Старый 17.01.2017, 14:53   #7
Evgen
Разработчик
 
Аватар для Evgen
 
Регистрация: 12.01.2011
Адрес: Moscow
Сообщений: 419
Написано 68 полезных сообщений
(для 100 пользователей)
Ответ: Как рендерить в Editor скриптах

Сообщение от Nex Посмотреть сообщение
1) Скриншот медленнее чем renderToTexture.
Откуда инфа на счет скорости?
Код вырос и какой-то треш, в картинку попадает область вне рендера.

public class Generate2DIcons : ScriptableObject
{
	[MenuItem ("Custom/Generate2DIcons")]
	static void Generate()
	{
		int sqr = 256;
		RenderTexture rtex = new RenderTexture(sqr,sqr,24);
		EditorApplication.NewScene();
		Camera.main.aspect = 1.0f;
		Camera.main.targetTexture = rtex;
		Camera.main.Render();
		RenderTexture.active = rtex;
		Texture2D tex = new Texture2D(sqr,sqr,TextureFormat.RGB24, false);
		tex.ReadPixels(new Rect(0, 0, sqr, sqr), 0, 0);
		tex.Apply();
		RenderTexture.active = null;
		Camera.main.targetTexture = null;
		byte[] bytes = tex.EncodeToPNG ();
		System.IO.File.WriteAllBytes(Application.dataPath + "/"+"icon.png",bytes);
		//Application.CaptureScreenshot("icon.png");
	}
}
(Offline)
 
Ответить с цитированием