1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/foryun-UnityExportSprite

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 6.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 00:11 d7b3d71

Экспорт спрайтов из Unity

Экспорт отдельных спрайтов из набора изображений в Unity

Введение

  • Экспорт спрайтов, полученных путём нарезки набора изображений.

Инструкция по использованию

  1. Поместите файлы с изображениями (png или tga) в папку «Assets/Resources» в Unity. Выберите набор изображений и выполните следующие действия в панели Inspector:

    • Измените тип текстуры на Sprite (2D and UI).
    • Установите режим спрайта на Multiple.
    • Включите чтение и запись.
    • Выберите формат RGBA 32bit.
    • Нажмите Apply.
  2. Выполните действия, показанные на рисунке.

  3. Откройте редактор спрайтов (Sprite Editor), как показано на рисунке ниже.

  4. В редакторе спрайтов нажмите Slice в левом верхнем углу, затем выберите Slice в выпадающем меню и нажмите Apply в правом верхнем углу для нарезки набора изображений.

  5. После нарезки набора изображений создайте файл скрипта ExportSpriteEditor.cs и добавьте следующий код:

using UnityEngine;
using UnityEditor;

/// <summary>
/// Инструмент экспорта спрайтов
/// </summary>
public class ExportSpriteEditor
{
    [MenuItem("Tools/Экспортировать спрайт")]
    static void ExportSprite()
    {
        string resourcesPath = "Assets/Resources/";
        foreach (Object obj in Selection.objects)
        {
            string selectionPath = AssetDatabase.GetAssetPath(obj);
            if (selectionPath.StartsWith(resourcesPath))
            {
                string selectionExt = System.IO.Path.GetExtension(selectionPath);
                if (selectionExt.Length == 0)
                {
                    Debug.LogError($"Расширение файла {selectionPath} неверное, пожалуйста, выберите изображение");
                    continue;
                }
                // Если selectionPath = "Assets/Resources/UI/Common.png"
                // Тогда loadPath = "UI/Common"
                string loadPath = selectionPath.Remove(selectionPath.Length - selectionExt.Length);
                loadPath = loadPath.Substring(resourcesPath.Length);
                // Загрузить все ресурсы из этого файла
                Sprite[] sprites = Resources.LoadAll<Sprite>(loadPath);
                if (sprites.Length > 0)
                {
                    // Создать каталог для экспорта
                    string exportPath = Application.dataPath + "/ExportSprite/" + loadPath;
                    System.IO.Directory.CreateDirectory(exportPath);

                    foreach (Sprite sprite in sprites)
                    {
                        Texture2D tex = new Texture2D((int) sprite.rect.width, (int) sprite.rect.height,
                            sprite.texture.format, false);
                        tex.SetPixels(sprite.texture.GetPixels((int) sprite.rect.xMin, (int) sprite.rect.yMin,
                            (int) sprite.rect.width, (int) sprite.rect.height));
                        tex.Apply();

                        // Записать данные изображения в файл
                        System.IO.File.WriteAllBytes(exportPath + "/" + sprite.name + ".png", tex.EncodeToPNG());
                    }
                    Debug.Log("Экспорт спрайтов в" + exportPath);
                }
                Debug.log("Экспорт спрайтов завершён");
                // Обновить ресурсы
                AssetDatabase.Refresh();
            }
            else
            {
                Debug.LogError($"Пожалуйста, поместите ресурсы в каталог {resourcesPath}");
            }
        }
    }
}
  1. Завершите создание кода. Выберите файл с набором изображений, как показано на рисунке.

  2. Нажмите Tools в верхней части меню Unity и выберите «Экспортировать спрайты», как показано на рисунке.

  3. Файлы с нарезанными спрайтами можно найти в каталоге Assets/ExportSprite.

NGUI: экспорт отдельных спрайтов из атласа

Введение

  • Экспорт отдельных спрайтов из атласа NGUI.

Использование

  1. Импортируйте необходимые файлы атласа NGUI в любой каталог проекта Unity.

    T-NGUIAtласToSprite-1
  2. Нажмите Tools в верхнем меню Unity и выберите NGUIAtlasToSprite — NGUI Atlas to Sprite, как показано на рисунке.

    T-NGUIAтласToSprite-2
  3. Во всплывающем окне NGUIAtlasToSprite нажмите кнопку «Поиск всех NGUI атласов». Инструмент автоматически найдёт все атласы NGUI в каталоге проекта Unity.

    T-NGUIAтласToSprite-3
  4. Если в списке есть атласы, которые необходимо экспортировать в отдельные спрайты, снимите флажки с тех, которые не нужно экспортировать, и нажмите кнопку «-».

    T-NGUIAтласToSprite-4
  5. Убедитесь, что выбраны нужные атласы. Затем нажмите «Экспортировать отдельные спрайты». Спрайты будут экспортированы в каталог Assets/ExportSprite.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/foryun-UnityExportSprite.git
git@api.gitlife.ru:oschina-mirror/foryun-UnityExportSprite.git
oschina-mirror
foryun-UnityExportSprite
foryun-UnityExportSprite
master