Когда Unity импортирует изображения, она может быстро сжимать ресурсы, устанавливая свойства.

Я обнаружил эту функцию, когда учился использовать тайловую карту для рисования карт мира.

Раньше я имел лишь приблизительное представление о том, что эта часть соответствует сжатию ресурсов изображения. Например, «Сжатие» относится к качеству сжатия. Если вы вообще не хотите сжатия, установите для него значение «Нет», что приведет к увеличению ресурсов изображения.

В моем примере проекта размеры других ресурсов изображений составляют 64x64, и при их размещении в палитре тайловой карты нет исключений. Но это изображение водопада. Исходный размер изображения – 640 x 256. Если оно основано на соотношении 64, оно создаст изображение 10 * 4:

Но судя по деталям рисунка, на такие квадратики его резать не обязательно. Поэтому при резке размер 64x64 увеличивается до 128x128. Таким образом, не хватает деталей, но при этом резка не слишком фрагментирована и не сложна в использовании.

Конечно, вы можете продолжать увеличивать масштаб. Однако, если вы продолжите увеличивать масштаб, вертикальное направление составит 256 пикселей, и вы не сможете различить нижнюю часть водопада и верхнюю часть водопада, что не способствует расширенному использованию.

Из этого у меня получилось 10 картинок размером 128x128; 0-4 могут формировать анимацию над водопадом; 5-10 могут формировать анимацию под водопадом.

Но после использования этого в качестве плитки я обнаружил, что если эту плитку и другие плитки разместить в цветовой палитре одновременно, возникнет явный дискомфорт, поскольку плитка будет больше остальных плиток, как показано на рисунке. Показать:

 Одним из решений является создание отдельной палитры специально для этого тайла и установка соответствующего размера, чтобы его можно было нормально использовать.

Но глядя на пример проекта, я положил в палитру плитку 64х64 и эту плитку 128х128, и ощущения несоответствия не возникает.

Причина в том, что каскадная диаграмма разрезана на 128x128, но есть количество пикселей на единицу, а для других изображений установлено значение 64, что означает, что одна ячейка отображает 64 пикселя. это изображение, одна единица При рендеринге этого изображения отрисовывается 128 пикселей.Конечный эффект такой, как показано на картинке выше.Хотя это та же сетка и размер исходного изображения другой, для нас логично, что это то же самое сетка. Он унифицирован в проектировании.

С помощью Pixels Per Unit изображения с разным разрешением могут быть логически одинакового размера, задав количество пикселей на единицу. Конечный эффект показан на рисунке:

Сначала я подумал, что это вызвано сжатием.Вот несколько конфигураций сжатия материала, которые я обнаружил при исследовании этой проблемы. Раньше у меня было только представление о настройках сжатия и не было конкретных исследований его влияния.

После проверки мы обнаружили, что этот спрайт размером 128x128 на самом деле имеет размер 51x51 в примере проекта.

 Так откуда же взялось это 51х51? Мы четко знаем, что размер png-материала составляет 640x256.

Почему не использовать 64х64, а 51х51?

как показано на рисунке. Установите «Максимальный размер» = 256.

Вот как сжимается изображение после настройки проекта импорта изображений:

После установки максимального размера 256 исходное изображение размером 640x256 будет пропорционально уменьшено до 256x (256/640*256), что составляет 256x102,4.

В этот раз, хотя мы заходим в редактор спрайтов и вырезанная картинка по-прежнему обрезается по размеру 640х256, материал «Спрайт», который мы наконец получаем для использования в проекте, стал 128*(256/640)=51,2.

Итак, это окончательный размер нашего спрайта.

В этом месте на самом деле задаются не свойства материала спрайта, а то, как сжимать материал после импорта изображения, и даже его размер соответственно изменится.

нравиться:

После установки maxsize=256 размер изображения составит 256x102, а размер — 76,5 КБ.

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

640х256, соответственно изменится и размер, став 80,0 КБ. 

Если мы снова изменим атрибут Compression, то есть изменим степень сжатия:

Например, если вы выберете «Высокое качество», вы увидите, что цветовой формат изображения также изменился на RGBA с дополнительным альфа-каналом, а размер изображения стал 160,0 КБ.

 Хотя я и раньше знал, что это место используется для установки алгоритма сжатия после импорта изображения в проект, я не чувствовал этого настолько интуитивно. Получается, что изменения здесь напрямую затронут всех последующих пользователей.

Конечно, не забывайте о режиме фильтра, установленном в точку (без фильтра).

Guess you like

Origin blog.csdn.net/grf123/article/details/132198957