Я создаю текстурный атлас по сценарию. Я использую 6 изображений, чтобы сделать это, и код выглядит следующим образом:Почему Texture2D.PackTextures() создает столько пространства в атласе?
atlasTextures = new Texture2D[6] {frontTexture, topTexture, backTexture, bottomTexture, leftTexture, rightTexture };
Texture2D atlas = new Texture2D(1024, 1024);
Rect[] UVs = atlas.PackTextures(atlasTextures, 2, 1024);
GetComponent<Renderer>().material.mainTexture = atlas;
Результат упаковки выглядит следующим образом:
Вопрос, почему этот код производит так много пустого пространства? Поскольку я всегда буду использовать только 6 текстур, возможно ли сделать атлас немного меньше?
Я думаю, что ваши изображения примерно 256x256, и вы создаете атлас 1024x1024, поэтому не удивительно. Сделайте его кратным вашему размеру. 768x768 уже сэкономит вам. Не знаю, будет ли работать 512x768. –
Каждая из этих текстур - 167x167. Я изменил размеры на Texture2D (512, 512) и PackTextures (atlasTextures, 2, 256); И он меньше. Вы знаете, что делает третий параметр в PackTextures()? –
Это максимальный размер, который может иметь атлас. –