В графических интерфейсах часто встречаются элементы, чувствительные к контексту в отношении их размера: панели и диалоговые окна, размер которых необходимо изменять, чтобы вместить содержащееся в них содержимое. Это может вызвать визуальные проблемы, если применять текстурирование к изменяемой в размерах ноде.
Обычно движок масштабирует текстуру, чтобы она соответствовала границам ноды Box, но, определив краевые области Slice9, можно определить границы того, какие части текстуры должны масштабироваться:
{srcset="../shared/images/[email protected] 2x"}
Нода Box Slice9 включает в себя 4 числа, которые определяют количество пикселей для левого, верхнего, правого и нижнего полей, которые не должны подвергаться регулярному масштабированию:
{srcset="../shared/images/[email protected] 2x"}
Поля устанавливаются по часовой стрелке, начиная с левого края:
{srcset="../shared/images/[email protected] 2x"}
Описанное выше масштабирование текстуры Slice9 применяется только при изменении размера ноды Box:
{srcset="../shared/images/[email protected] 2x"}
Если изменить параметр Scale ноды Box --- нода и текстура будут масштабироваться без применения параметров Slice9.
Из-за того, как работает мипмаппинг в рендере, при масштабировании сегментов текстуры иногда могут возникать артефакты. Это происходит при масштабировании сегментов ниже исходного размера текстуры. Затем рендерер выбирает для сегмента мипмап с более низким разрешением, что приводит к появлению визуальных артефактов.
{srcset="../shared/images/[email protected] 2x"}
Чтобы избежать этой проблемы, убедитесь, что сегменты текстуры, которые будут масштабироваться, достаточно малы, чтобы никогда не масштабироваться в меньшую сторону, а только в большую.