Сообщение от Nex
?? Вроде всё ??
Запускаешь игру@смотришь картинку в папке.
|
Не.. не.. не.. Давайте без костылей. Когда было мало опыта я тоже их применял. Мне нужна специальная кнопочка в редакторе - нажал и рисунки обновились. Очень удобно.
Собственно внизу код, результат вроде, как надо. Результат не зависит от размера Game окна. Что я собственно не мог побороть в начале.
public class Generate2DIcons : ScriptableObject
{
[MenuItem ("Custom/Generate2DIcons")]
static void Generate(){
EditorWindow.focusedWindow.maxSize = new Vector2 (10, 10);
// Создаем сцену
EditorApplication.NewScene();
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
cube.transform.position = new Vector3(0, 1, -7);
cube.transform.rotation = Quaternion.Euler(45,45,0);
SaveScreenshoot("cube.png");
DestroyImmediate(cube);
Debug.Log("Ok");
}
static void SaveScreenshoot(string name){
// Делаем скриншот
int sqr = 256;
RenderTexture rtex = new RenderTexture(sqr,sqr,24);
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 + "/"+name,bytes);
}
}
Не знаю для чего здесь нужно вот это:
EditorWindow.focusedWindow.maxSize = new Vector2 (10, 10);
но вроде нужно.