mirror of
https://github.com/maxartz15/MA_TextureAtlasser.git
synced 2025-07-07 08:46:07 +02:00
Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
1251736f5b | |||
78e4fb0ad1 | |||
7990f987dc | |||
82efcbb6d0 | |||
7f5e22b3c1 | |||
c91c1cb7ee |
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2018 Max
|
Copyright (c) 2018 Max Kruf
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
BIN
MA_ToolBox/MA_TextureAtlasserPro/Icons/duplicateQuadIcon.png
Normal file
BIN
MA_ToolBox/MA_TextureAtlasserPro/Icons/duplicateQuadIcon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.9 KiB |
@ -1,3 +1,4 @@
|
|||||||
|
#if UNITY_EDITOR
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@ -101,3 +102,4 @@ namespace MA_TextureAtlasserPro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -1,3 +1,4 @@
|
|||||||
|
#if UNITY_EDITOR
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@ -164,3 +165,4 @@ namespace MA_TextureAtlasserPro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -0,0 +1,27 @@
|
|||||||
|
#if UNITY_EDITOR
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEditor;
|
||||||
|
using MA_Editor;
|
||||||
|
|
||||||
|
namespace MA_TextureAtlasserPro
|
||||||
|
{
|
||||||
|
[System.Serializable]
|
||||||
|
public class MA_TextureAtlasserProSettings : ScriptableObject
|
||||||
|
{
|
||||||
|
[Header("Selection")]
|
||||||
|
public bool autoFocus = false;
|
||||||
|
|
||||||
|
[Header("Duplication:")]
|
||||||
|
public bool copySelectedQuadData = false;
|
||||||
|
public string duplicatedQuadNamePrefix = "new ";
|
||||||
|
|
||||||
|
[Header("Hotkeys:")]
|
||||||
|
public bool useHotkeys = false;
|
||||||
|
public KeyCode addQuadHotKey = KeyCode.Q;
|
||||||
|
public KeyCode removeQuadHotKey = KeyCode.R;
|
||||||
|
public KeyCode duplicateHotKey = KeyCode.D;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
@ -1,4 +1,5 @@
|
|||||||
using System.Collections;
|
#if UNITY_EDITOR
|
||||||
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
@ -17,3 +18,4 @@ namespace MA_TextureAtlasserPro
|
|||||||
public string name;
|
public string name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -1,3 +1,4 @@
|
|||||||
|
#if UNITY_EDITOR
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
|
|
||||||
@ -12,6 +13,7 @@ namespace MA_TextureAtlasserPro
|
|||||||
public static GUIContent exportAtlasIcon;
|
public static GUIContent exportAtlasIcon;
|
||||||
public static GUIContent createQuadIcon;
|
public static GUIContent createQuadIcon;
|
||||||
public static GUIContent removeQuadIcon;
|
public static GUIContent removeQuadIcon;
|
||||||
|
public static GUIContent duplicateQuadIcon;
|
||||||
public static GUIContent showTexturesOnIcon;
|
public static GUIContent showTexturesOnIcon;
|
||||||
public static GUIContent showTexturesOffIcon;
|
public static GUIContent showTexturesOffIcon;
|
||||||
public static GUIContent dragHandleIcon;
|
public static GUIContent dragHandleIcon;
|
||||||
@ -24,6 +26,7 @@ namespace MA_TextureAtlasserPro
|
|||||||
exportAtlasIcon = new GUIContent("", (Texture)EditorGUIUtility.Load(LOADICONPATH + "exportAtlasIcon" + ".png"));
|
exportAtlasIcon = new GUIContent("", (Texture)EditorGUIUtility.Load(LOADICONPATH + "exportAtlasIcon" + ".png"));
|
||||||
createQuadIcon = new GUIContent("", (Texture)EditorGUIUtility.Load(LOADICONPATH + "createQuadIcon" + ".png"));
|
createQuadIcon = new GUIContent("", (Texture)EditorGUIUtility.Load(LOADICONPATH + "createQuadIcon" + ".png"));
|
||||||
removeQuadIcon = new GUIContent("", (Texture)EditorGUIUtility.Load(LOADICONPATH + "removeQuadIcon" + ".png"));
|
removeQuadIcon = new GUIContent("", (Texture)EditorGUIUtility.Load(LOADICONPATH + "removeQuadIcon" + ".png"));
|
||||||
|
duplicateQuadIcon = new GUIContent("", (Texture)EditorGUIUtility.Load(LOADICONPATH + "duplicateQuadIcon" + ".png"));
|
||||||
showTexturesOnIcon = new GUIContent("", (Texture)EditorGUIUtility.Load(LOADICONPATH + "showTexturesOnIcon" + ".png"));
|
showTexturesOnIcon = new GUIContent("", (Texture)EditorGUIUtility.Load(LOADICONPATH + "showTexturesOnIcon" + ".png"));
|
||||||
showTexturesOffIcon = new GUIContent("", (Texture)EditorGUIUtility.Load(LOADICONPATH + "showTexturesOffIcon" + ".png"));
|
showTexturesOffIcon = new GUIContent("", (Texture)EditorGUIUtility.Load(LOADICONPATH + "showTexturesOffIcon" + ".png"));
|
||||||
dragHandleIcon = new GUIContent("", (Texture)EditorGUIUtility.Load(LOADICONPATH + "dragHandleIcon" + ".png"));
|
dragHandleIcon = new GUIContent("", (Texture)EditorGUIUtility.Load(LOADICONPATH + "dragHandleIcon" + ".png"));
|
||||||
@ -31,3 +34,4 @@ namespace MA_TextureAtlasserPro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -1,3 +1,4 @@
|
|||||||
|
#if UNITY_EDITOR
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@ -9,12 +10,43 @@ namespace MA_TextureAtlasserPro
|
|||||||
{
|
{
|
||||||
public static class MA_TextureAtlasserProUtils
|
public static class MA_TextureAtlasserProUtils
|
||||||
{
|
{
|
||||||
|
public const string SETTINGSASSETPATH = "Assets/MA_ToolBox/MA_TextureAtlasserPro/Settings/";
|
||||||
public const string SAVEASSETPATH = "Assets/MA_ToolBox/MA_TextureAtlasserPro/Atlasses/";
|
public const string SAVEASSETPATH = "Assets/MA_ToolBox/MA_TextureAtlasserPro/Atlasses/";
|
||||||
public const string LOADASSETPATH = "Assets/MA_ToolBox/MA_TextureAtlasserPro/Atlasses/";
|
public const string LOADASSETPATH = "Assets/MA_ToolBox/MA_TextureAtlasserPro/Atlasses/";
|
||||||
public const string EXPORTASSETPATH = "Assets/MA_ToolBox/MA_TextureAtlasserPro/Exports/";
|
public const string EXPORTASSETPATH = "Assets/MA_ToolBox/MA_TextureAtlasserPro/Exports/";
|
||||||
public const float VIEWOFFSET = 20;
|
public const float VIEWOFFSET = 20;
|
||||||
public const string DEFAULTTEXTUREGROUPNAME = "Albedo";
|
public const string DEFAULTTEXTUREGROUPNAME = "Albedo";
|
||||||
|
|
||||||
|
public static MA_TextureAtlasserProSettings CreateSettings()
|
||||||
|
{
|
||||||
|
MA_TextureAtlasserProSettings _settings = (MA_TextureAtlasserProSettings)ScriptableObject.CreateInstance<MA_TextureAtlasserProSettings>();
|
||||||
|
|
||||||
|
if(_settings != null)
|
||||||
|
{
|
||||||
|
AssetDatabase.CreateAsset(_settings, SETTINGSASSETPATH + "MA_TextureAtlasserProSettings.asset");
|
||||||
|
AssetDatabase.SaveAssets();
|
||||||
|
AssetDatabase.Refresh();
|
||||||
|
|
||||||
|
return _settings;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static MA_TextureAtlasserProSettings LoadSettings()
|
||||||
|
{
|
||||||
|
MA_TextureAtlasserProSettings _settings = AssetDatabase.LoadAssetAtPath(SETTINGSASSETPATH + "MA_TextureAtlasserProSettings.asset", typeof(MA_TextureAtlasserProSettings)) as MA_TextureAtlasserProSettings;
|
||||||
|
|
||||||
|
if (_settings == null)
|
||||||
|
{
|
||||||
|
_settings = CreateSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
return _settings;
|
||||||
|
}
|
||||||
|
|
||||||
public static MA_TextureAtlasserProAtlas CreateTextureAtlas(string name, Vector2 size)
|
public static MA_TextureAtlasserProAtlas CreateTextureAtlas(string name, Vector2 size)
|
||||||
{
|
{
|
||||||
MA_TextureAtlasserProAtlas _atlas = (MA_TextureAtlasserProAtlas)ScriptableObject.CreateInstance<MA_TextureAtlasserProAtlas>();
|
MA_TextureAtlasserProAtlas _atlas = (MA_TextureAtlasserProAtlas)ScriptableObject.CreateInstance<MA_TextureAtlasserProAtlas>();
|
||||||
@ -113,7 +145,7 @@ namespace MA_TextureAtlasserPro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void CreateTextureQuad(MA_TextureAtlasserProAtlas atlas, string name, Rect rect)
|
public static void CreateTextureQuad(MA_TextureAtlasserProAtlas atlas, string name, Rect rect, bool focus = true)
|
||||||
{
|
{
|
||||||
if(atlas != null)
|
if(atlas != null)
|
||||||
{
|
{
|
||||||
@ -140,6 +172,11 @@ namespace MA_TextureAtlasserPro
|
|||||||
AssetDatabase.AddObjectToAsset(_quad, atlas);
|
AssetDatabase.AddObjectToAsset(_quad, atlas);
|
||||||
AssetDatabase.SaveAssets();
|
AssetDatabase.SaveAssets();
|
||||||
AssetDatabase.Refresh();
|
AssetDatabase.Refresh();
|
||||||
|
|
||||||
|
if(focus)
|
||||||
|
{
|
||||||
|
atlas.selectedTextureQuad = atlas.textureQuads[atlas.textureQuads.Count - 1];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -152,14 +189,41 @@ namespace MA_TextureAtlasserPro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void RemoveTextureQuad(MA_TextureAtlasserProAtlas atlas)
|
public static void RemoveTextureQuad(MA_TextureAtlasserProAtlas atlas, bool focus = true)
|
||||||
{
|
{
|
||||||
if(atlas != null && atlas.selectedTextureQuad != null)
|
if(atlas != null && atlas.selectedTextureQuad != null)
|
||||||
{
|
{
|
||||||
atlas.textureQuads.Remove(atlas.selectedTextureQuad);
|
int _index = atlas.textureQuads.IndexOf(atlas.selectedTextureQuad);
|
||||||
|
|
||||||
|
atlas.textureQuads.RemoveAt(_index);
|
||||||
GameObject.DestroyImmediate(atlas.selectedTextureQuad, true);
|
GameObject.DestroyImmediate(atlas.selectedTextureQuad, true);
|
||||||
AssetDatabase.SaveAssets();
|
AssetDatabase.SaveAssets();
|
||||||
AssetDatabase.Refresh();
|
AssetDatabase.Refresh();
|
||||||
|
|
||||||
|
if (focus && atlas.textureQuads.Count > 0)
|
||||||
|
{
|
||||||
|
_index = Mathf.Clamp(_index, 0, atlas.textureQuads.Count - 1);
|
||||||
|
atlas.selectedTextureQuad = atlas.textureQuads[_index];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void DuplicateTextureQuad(MA_TextureAtlasserProAtlas atlas, bool focus = true, bool copyData = false, string namePrefix = "new ")
|
||||||
|
{
|
||||||
|
if(atlas != null && atlas.selectedTextureQuad != null)
|
||||||
|
{
|
||||||
|
CreateTextureQuad(atlas, namePrefix + atlas.selectedTextureQuad.name, atlas.selectedTextureQuad.rect, false);
|
||||||
|
|
||||||
|
if(copyData)
|
||||||
|
{
|
||||||
|
atlas.textureQuads[atlas.textureQuads.Count - 1].meshes = atlas.selectedTextureQuad.meshes;
|
||||||
|
atlas.textureQuads[atlas.textureQuads.Count - 1].textureGroups = atlas.selectedTextureQuad.textureGroups;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(focus)
|
||||||
|
{
|
||||||
|
atlas.selectedTextureQuad = atlas.textureQuads[atlas.textureQuads.Count - 1];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -315,3 +379,4 @@ namespace MA_TextureAtlasserPro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -1,3 +1,4 @@
|
|||||||
|
#if UNITY_EDITOR
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@ -76,3 +77,4 @@ namespace MA_TextureAtlasserPro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -1,3 +1,4 @@
|
|||||||
|
#if UNITY_EDITOR
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@ -132,3 +133,4 @@ namespace MA_TextureAtlasserPro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -1,3 +1,4 @@
|
|||||||
|
#if UNITY_EDITOR
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@ -52,12 +53,17 @@ namespace MA_TextureAtlasserPro
|
|||||||
GUILayout.Space(MA_TextureAtlasserProUtils.VIEWOFFSET);
|
GUILayout.Space(MA_TextureAtlasserProUtils.VIEWOFFSET);
|
||||||
if(GUILayout.Button(MA_TextureAtlasserProIcons.createQuadIcon, GUILayout.ExpandWidth(false), GUILayout.ExpandHeight(true)))
|
if(GUILayout.Button(MA_TextureAtlasserProIcons.createQuadIcon, GUILayout.ExpandWidth(false), GUILayout.ExpandHeight(true)))
|
||||||
{
|
{
|
||||||
MA_TextureAtlasserProUtils.CreateTextureQuad(curWindow.textureAtlas, "new Quad", new Rect(0, 0, 128, 128));
|
MA_TextureAtlasserProUtils.CreateTextureQuad(curWindow.textureAtlas, "new Quad", new Rect(0, 0, 128, 128), curWindow.settings.autoFocus);
|
||||||
}
|
}
|
||||||
if(curWindow.textureAtlas.selectedTextureQuad != null && GUILayout.Button(MA_TextureAtlasserProIcons.removeQuadIcon, GUILayout.ExpandWidth(false), GUILayout.ExpandHeight(true)))
|
if(curWindow.textureAtlas.selectedTextureQuad != null && GUILayout.Button(MA_TextureAtlasserProIcons.removeQuadIcon, GUILayout.ExpandWidth(false), GUILayout.ExpandHeight(true)))
|
||||||
{
|
{
|
||||||
if(curWindow.textureAtlas.selectedTextureQuad != null)
|
if(curWindow.textureAtlas.selectedTextureQuad != null)
|
||||||
MA_TextureAtlasserProUtils.RemoveTextureQuad(curWindow.textureAtlas);
|
MA_TextureAtlasserProUtils.RemoveTextureQuad(curWindow.textureAtlas, curWindow.settings.autoFocus);
|
||||||
|
}
|
||||||
|
if (curWindow.textureAtlas.selectedTextureQuad != null && GUILayout.Button(MA_TextureAtlasserProIcons.duplicateQuadIcon, GUILayout.ExpandWidth(false), GUILayout.ExpandHeight(true)))
|
||||||
|
{
|
||||||
|
if (curWindow.textureAtlas.selectedTextureQuad != null)
|
||||||
|
MA_TextureAtlasserProUtils.DuplicateTextureQuad(curWindow.textureAtlas, curWindow.settings.autoFocus, curWindow.settings.copySelectedQuadData, curWindow.settings.duplicatedQuadNamePrefix);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,3 +80,4 @@ namespace MA_TextureAtlasserPro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -1,4 +1,5 @@
|
|||||||
using System.Collections;
|
#if UNITY_EDITOR
|
||||||
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
@ -53,3 +54,4 @@ namespace MA_TextureAtlasserPro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -1,4 +1,5 @@
|
|||||||
using System.Collections;
|
#if UNITY_EDITOR
|
||||||
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using MA_Editor;
|
using MA_Editor;
|
||||||
@ -88,6 +89,34 @@ namespace MA_TextureAtlasserPro
|
|||||||
zoomCoordsOrigin -= delta;
|
zoomCoordsOrigin -= delta;
|
||||||
|
|
||||||
e.Use();
|
e.Use();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Hotkeys.
|
||||||
|
if (curWindow.settings.useHotkeys)
|
||||||
|
{
|
||||||
|
if(curWindow.textureAtlas != null)
|
||||||
|
{
|
||||||
|
if (e.type == EventType.KeyDown && e.keyCode == curWindow.settings.addQuadHotKey)
|
||||||
|
{
|
||||||
|
MA_TextureAtlasserProUtils.CreateTextureQuad(curWindow.textureAtlas, "new Quad", new Rect(0, 0, 128, 128), curWindow.settings.autoFocus);
|
||||||
|
e.Use();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (curWindow.textureAtlas.selectedTextureQuad != null)
|
||||||
|
{
|
||||||
|
if (e.type == EventType.KeyDown && e.keyCode == curWindow.settings.removeQuadHotKey)
|
||||||
|
{
|
||||||
|
MA_TextureAtlasserProUtils.RemoveTextureQuad(curWindow.textureAtlas, curWindow.settings.autoFocus);
|
||||||
|
e.Use();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (e.type == EventType.KeyDown && e.keyCode == curWindow.settings.duplicateHotKey)
|
||||||
|
{
|
||||||
|
MA_TextureAtlasserProUtils.DuplicateTextureQuad(curWindow.textureAtlas, curWindow.settings.autoFocus, curWindow.settings.copySelectedQuadData, curWindow.settings.duplicatedQuadNamePrefix);
|
||||||
|
e.Use();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -120,3 +149,4 @@ namespace MA_TextureAtlasserPro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -1,4 +1,5 @@
|
|||||||
using System.Collections;
|
#if UNITY_EDITOR
|
||||||
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
@ -168,3 +169,4 @@ namespace MA_TextureAtlasserPro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -1,4 +1,5 @@
|
|||||||
using System.Collections;
|
#if UNITY_EDITOR
|
||||||
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
@ -133,3 +134,4 @@ namespace MA_TextureAtlasserPro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -1,4 +1,5 @@
|
|||||||
using System.Collections;
|
#if UNITY_EDITOR
|
||||||
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
@ -8,6 +9,7 @@ namespace MA_TextureAtlasserPro
|
|||||||
public class MA_TextureAtlasserProWindow : EditorWindow
|
public class MA_TextureAtlasserProWindow : EditorWindow
|
||||||
{
|
{
|
||||||
public static MA_TextureAtlasserProWindow thisWindow;
|
public static MA_TextureAtlasserProWindow thisWindow;
|
||||||
|
public MA_TextureAtlasserProSettings settings;
|
||||||
public MA_TextureAtlasserProAtlas textureAtlas;
|
public MA_TextureAtlasserProAtlas textureAtlas;
|
||||||
|
|
||||||
public MA_TextureAtlasserProWorkView workView;
|
public MA_TextureAtlasserProWorkView workView;
|
||||||
@ -56,6 +58,7 @@ namespace MA_TextureAtlasserPro
|
|||||||
GetCurrentWindow();
|
GetCurrentWindow();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
thisWindow.settings = MA_TextureAtlasserProUtils.LoadSettings();
|
||||||
thisWindow.workView = new MA_TextureAtlasserProWorkView(thisWindow, "workView");
|
thisWindow.workView = new MA_TextureAtlasserProWorkView(thisWindow, "workView");
|
||||||
thisWindow.menuView = new MA_TextureAtlasserProMenuView(thisWindow, "menuView");
|
thisWindow.menuView = new MA_TextureAtlasserProMenuView(thisWindow, "menuView");
|
||||||
thisWindow.inspectorView = new MA_TextureAtlasserProInspectorView(thisWindow, "inspectorView");
|
thisWindow.inspectorView = new MA_TextureAtlasserProInspectorView(thisWindow, "inspectorView");
|
||||||
@ -86,7 +89,7 @@ namespace MA_TextureAtlasserPro
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Check views
|
//Check views
|
||||||
if(workView == null || menuView == null || inspectorView == null || debugView == null)
|
if(settings == null || workView == null || menuView == null || inspectorView == null || debugView == null)
|
||||||
{
|
{
|
||||||
CreateViews();
|
CreateViews();
|
||||||
return;
|
return;
|
||||||
@ -117,3 +120,4 @@ namespace MA_TextureAtlasserPro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
1
MA_ToolBox/MA_TextureAtlasserPro/Settings/Settings.txt
Normal file
1
MA_ToolBox/MA_TextureAtlasserPro/Settings/Settings.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Settigns are supposed to be here.
|
@ -1,6 +1,6 @@
|
|||||||
//Maxartz15
|
//https://github.com/maxartz15/MA_EditorUtils
|
||||||
//Version 1.0
|
|
||||||
|
|
||||||
|
#if UNITY_EDITOR
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@ -59,3 +59,4 @@ namespace MA_Editor.Grid
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -1,6 +1,9 @@
|
|||||||
//Maxartz15
|
//https://github.com/maxartz15/MA_EditorUtils
|
||||||
//Version 1.0
|
|
||||||
|
|
||||||
|
//References:
|
||||||
|
//http://martinecker.com/martincodes/unity-editor-window-zooming/
|
||||||
|
|
||||||
|
#if UNITY_EDITOR
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using MA_Editor;
|
using MA_Editor;
|
||||||
|
|
||||||
@ -68,3 +71,4 @@ namespace MA_Editor.RectUtils
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -1,6 +1,9 @@
|
|||||||
//Maxartz15
|
//https://github.com/maxartz15/MA_EditorUtils
|
||||||
//Version 1.0
|
|
||||||
|
|
||||||
|
//References:
|
||||||
|
//http://martinecker.com/martincodes/unity-editor-window-zooming/
|
||||||
|
|
||||||
|
#if UNITY_EDITOR
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using MA_Editor;
|
using MA_Editor;
|
||||||
using MA_Editor.RectUtils;
|
using MA_Editor.RectUtils;
|
||||||
@ -37,3 +40,4 @@ namespace MA_Editor.GUILayoutZoom
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -1,6 +1,9 @@
|
|||||||
//Maxartz15
|
//https://github.com/maxartz15/MA_MeshUtils
|
||||||
//Version 1.0
|
|
||||||
|
|
||||||
|
//References:
|
||||||
|
//http://wiki.unity3d.com/index.php?title=ObjExporter
|
||||||
|
|
||||||
|
#if UNITY_EDITOR
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -89,15 +92,15 @@ namespace MA_Mesh
|
|||||||
{
|
{
|
||||||
if(flipY)
|
if(flipY)
|
||||||
{
|
{
|
||||||
Debug.Log("01" + uvs[i].x);
|
//Debug.Log("01" + uvs[i].x);
|
||||||
uvs[i] = new Vector2((uvs[i].x / atlasSize.x * textureRect.width) + (1 / atlasSize.x * textureRect.x), (uvs[i].y / atlasSize.y * textureRect.height) + (1 / atlasSize.y * (atlasSize.y - textureRect.height - textureRect.y)));
|
uvs[i] = new Vector2((uvs[i].x / atlasSize.x * textureRect.width) + (1 / atlasSize.x * textureRect.x), (uvs[i].y / atlasSize.y * textureRect.height) + (1 / atlasSize.y * (atlasSize.y - textureRect.height - textureRect.y)));
|
||||||
Debug.Log("02" + uvs[i].x);
|
//Debug.Log("02" + uvs[i].x);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Log("01" + uvs[i].x);
|
//Debug.Log("01" + uvs[i].x);
|
||||||
uvs[i] = new Vector2((uvs[i].x / atlasSize.x * textureRect.width) + (1 / atlasSize.x * textureRect.x), (uvs[i].y / atlasSize.y * textureRect.height) + (1 / atlasSize.y * textureRect.y));
|
uvs[i] = new Vector2((uvs[i].x / atlasSize.x * textureRect.width) + (1 / atlasSize.x * textureRect.x), (uvs[i].y / atlasSize.y * textureRect.height) + (1 / atlasSize.y * textureRect.y));
|
||||||
Debug.Log("02" + uvs[i].x);
|
//Debug.Log("02" + uvs[i].x);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -185,3 +188,4 @@ namespace MA_Mesh
|
|||||||
public string textureName;
|
public string textureName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -1,27 +1,22 @@
|
|||||||
//Maxartz15
|
//https://github.com/maxartz15/MA_TextureUtils
|
||||||
//Version 1.0
|
|
||||||
//Part of MA_TextureUtils
|
|
||||||
//https://github.com/maxartz15/MA_TextureUtils
|
|
||||||
|
|
||||||
|
//References:
|
||||||
|
//http://www.gamasutra.com/blogs/JoshSutphin/20131007/201829/Adding_to_Unitys_BuiltIn_Classes_Using_Extension_Methods.php
|
||||||
|
//https://forum.unity3d.com/threads/contribution-texture2d-blur-in-c.185694/
|
||||||
|
//http://orbcreation.com/orbcreation/page.orb?1180
|
||||||
|
//https://support.unity3d.com/hc/en-us/articles/206486626-How-can-I-get-pixels-from-unreadable-textures-
|
||||||
|
|
||||||
|
#if UNITY_EDITOR
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
//http://www.gamasutra.com/blogs/JoshSutphin/20131007/201829/Adding_to_Unitys_BuiltIn_Classes_Using_Extension_Methods.php
|
|
||||||
//https://forum.unity3d.com/threads/contribution-texture2d-blur-in-c.185694/
|
|
||||||
//http://orbcreation.com/orbcreation/page.orb?1180
|
|
||||||
//https://support.unity3d.com/hc/en-us/articles/206486626-How-can-I-get-pixels-from-unreadable-textures-
|
|
||||||
|
|
||||||
namespace MA_Texture
|
namespace MA_Texture
|
||||||
{
|
{
|
||||||
public static class MA_TextureUtils
|
public static class MA_TextureUtils
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Some base converters and texture settings setters.
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public static Texture ConvertToReadableTexture(Texture texture)
|
public static Texture ConvertToReadableTexture(Texture texture)
|
||||||
{
|
{
|
||||||
if (texture == null)
|
if (texture == null)
|
||||||
@ -201,3 +196,4 @@ namespace MA_Texture
|
|||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
@ -6,4 +6,6 @@ By having full control over the size and position of the textures that are being
|
|||||||
|
|
||||||
https://youtu.be/PBRKlopkZP0
|
https://youtu.be/PBRKlopkZP0
|
||||||
|
|
||||||
|
Download the UnityPackage here: https://github.com/maxartz15/MA_TextureAtlasser/releases
|
||||||
|
|
||||||
For more information: https://maxartz15.com/ma_textureatlas/
|
For more information: https://maxartz15.com/ma_textureatlas/
|
||||||
|
Reference in New Issue
Block a user