7/24/2014

Настройка импорта ресурсов в Unity

Что-то я давно ничего не писал. Надо это дело исправлять! Да и вообще последнее время я загружен как-то сильно, поэтому это будет маленькой полезной, заметочкой.

Итак, поехали! Просле того как я загружаю текстуры или другие ресурсы в проект мне часто приходится их перенастраивать с дефолтных значений на свои. И вообще меня запарило это дело! К примеру почти все текстуры, которые я использую в роли спрайтов в моем проекте должны иметь соотношение: 1 пиксель на 1 юнит. А по дефолту в Unity стоит значение 100. А мы ведь программисты люди ленивые, как правило, поэтому с этой ситуацией я решил сразу разобраться. Спросил у нескольких друзей-программистов-Unity как перенастроить значения, но ответа так и не получил. Поэтому покопался в справке Unity и сразу же запостил решение.
image
На рисунке показаны эти злополучные преднастройки, которые мы и будем менять.
Создадим класс и назовем его к примеру Importer.
       
using UnityEngine;
using UnityEditor;

public class Importer :  AssetPostprocessor  
{
 // переопределяем функцию преднастройки текстур.
 void OnPreprocessTexture () 
 {
  TextureImporter texImporter = assetImporter as TextureImporter; 
  // меняем 100 пикселей на юнит на наше значение = 1.
  // теперь по умолчанию 1 пиксель будет равен 1 юниту
  texImporter.spritePixelsToUnits = 1;
  // устанавливаем формат текстур TrueColor по умолчанию
  texImporter.textureFormat = TextureImporterFormat.AutomaticTruecolor;
 }
}
Вот и все. Теперь все загружаемые текстуры будут иметь настройки установленные нами. Тоже самое можно проделать для всех типов ресурсов и даже для пользовательских.
Добавлю ссылки на справку по функциям импорта:
OnAssignMaterialModel
OnPostprocessAllAssets
OnPostprocessAudio
OnPostprocessGameObjectWithUserProperties
OnPostprocessModel
OnPostprocessTexture
OnPreprocessAudio
OnPreprocessModel
OnPreprocessTexture

Комментариев нет:

Отправить комментарий