Allow split w & h

This commit is contained in:
Lillith Rose 2026-03-05 19:11:32 -05:00
parent 6cde8075b4
commit d11bf80aac

View file

@ -9,7 +9,8 @@ namespace gay.lilyy.TextureAtlasGenerator
public class TextureAtlasSettings : ScriptableObject public class TextureAtlasSettings : ScriptableObject
{ {
public Texture2D[] textures; public Texture2D[] textures;
public int atlasSize = 1024; public int atlasWidth = 1024;
public int atlasHeight = 1024;
public int columns = 4; public int columns = 4;
public int rows = 4; public int rows = 4;
public string savePath = "Assets/Atlas.png"; public string savePath = "Assets/Atlas.png";
@ -34,7 +35,8 @@ namespace gay.lilyy.TextureAtlasGenerator
serializedObject.Update(); serializedObject.Update();
EditorGUILayout.LabelField("Texture Atlas Settings", EditorStyles.boldLabel); EditorGUILayout.LabelField("Texture Atlas Settings", EditorStyles.boldLabel);
EditorGUILayout.PropertyField(serializedObject.FindProperty("atlasSize")); EditorGUILayout.PropertyField(serializedObject.FindProperty("atlasWidth"));
EditorGUILayout.PropertyField(serializedObject.FindProperty("atlasHeight"));
EditorGUILayout.PropertyField(columnsProp); EditorGUILayout.PropertyField(columnsProp);
EditorGUILayout.PropertyField(rowsProp); EditorGUILayout.PropertyField(rowsProp);
EditorGUILayout.PropertyField(serializedObject.FindProperty("savePath")); EditorGUILayout.PropertyField(serializedObject.FindProperty("savePath"));
@ -88,13 +90,13 @@ namespace gay.lilyy.TextureAtlasGenerator
return; return;
} }
Texture2D atlas = new Texture2D(settings.atlasSize, settings.atlasSize); Texture2D atlas = new Texture2D(settings.atlasWidth, settings.atlasHeight);
Color[] blackPixels = new Color[settings.atlasSize * settings.atlasSize]; Color[] blackPixels = new Color[settings.atlasWidth * settings.atlasHeight];
for (int i = 0; i < blackPixels.Length; i++) blackPixels[i] = Color.black; for (int i = 0; i < blackPixels.Length; i++) blackPixels[i] = Color.black;
atlas.SetPixels(blackPixels); atlas.SetPixels(blackPixels);
int cellWidth = settings.atlasSize / settings.columns; int cellWidth = settings.atlasWidth / settings.columns;
int cellHeight = settings.atlasSize / settings.rows; int cellHeight = settings.atlasHeight / settings.rows;
for (int i = 0; i < settings.textures.Length; i++) for (int i = 0; i < settings.textures.Length; i++)
{ {