Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

AssetPostprocessor.OnPostprocessTexture(Texture2D)

Описание

Добавьте эту функцию в подкласс, чтобы получать уведомления о завершении импорта 2D-текстуры непосредственно перед тем, как Unity сожмет ее.

На данный момент вы не можете выбрать формат сжатия. Если вы хотите изменить формат сжатия на основе имени файла или других атрибутов текстуры, используйте AssetPostprocessor.OnPreprocessTexture.

Однако если вы измените настройки TextureImporter таким образом, это не повлияет на текстуру, которую Unity импортирует в данный момент, но будет применяться при следующем импорте этой текстуры Unity. Это приводит к непредсказуемым результатам.

using UnityEditor; using UnityEngine; using System.Collections; // Постобрабатывает все текстуры, помещенные в папку // «инвертировать цвет», чтобы инвертировать их цвета. public class InvertColor : AssetPostprocessor { void OnPostprocessTexture(Texture2D texture) { // Only post process textures if they are in a folder // "invert color" or a sub folder of it. string lowerCaseAssetPath = assetPath.ToLower(); if (lowerCaseAssetPath.IndexOf("/invert color/") == -1) return; for (int m = 0; m < texture.mipmapCount; m++) { Color[] c = texture.GetPixels(m); for (int i = 0; i < c.Length; i++) { c[i].r = 1 - c[i].r; c[i].g = 1 - c[i].g; c[i].b = 1 - c[i].b; } texture.SetPixels(c, m); } // Вместо того, чтобы устанавливать пиксели для каждого уровня мип-карты, вы можете изменить // пиксели в самой высокой мип-карте затем используют texture.Apply(true); // для генерации более низких мип-уровней. } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3