Экспорт спрайтов из Unity
Поместите файлы с изображениями (png или tga) в папку «Assets/Resources» в Unity. Выберите набор изображений и выполните следующие действия в панели Inspector:
Выполните действия, показанные на рисунке.
Откройте редактор спрайтов (Sprite Editor), как показано на рисунке ниже.
В редакторе спрайтов нажмите Slice в левом верхнем углу, затем выберите Slice в выпадающем меню и нажмите Apply в правом верхнем углу для нарезки набора изображений.
После нарезки набора изображений создайте файл скрипта 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}");
}
}
}
}
Завершите создание кода. Выберите файл с набором изображений, как показано на рисунке.
Нажмите Tools в верхней части меню Unity и выберите «Экспортировать спрайты», как показано на рисунке.
Файлы с нарезанными спрайтами можно найти в каталоге Assets/ExportSprite.
Импортируйте необходимые файлы атласа NGUI в любой каталог проекта Unity.
Нажмите Tools в верхнем меню Unity и выберите NGUIAtlasToSprite — NGUI Atlas to Sprite, как показано на рисунке.
Во всплывающем окне NGUIAtlasToSprite нажмите кнопку «Поиск всех NGUI атласов». Инструмент автоматически найдёт все атласы NGUI в каталоге проекта Unity.
Если в списке есть атласы, которые необходимо экспортировать в отдельные спрайты, снимите флажки с тех, которые не нужно экспортировать, и нажмите кнопку «-».
Убедитесь, что выбраны нужные атласы. Затем нажмите «Экспортировать отдельные спрайты». Спрайты будут экспортированы в каталог Assets/ExportSprite.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )