Skip to content

Commit

Permalink
Added slice9 rusian
Browse files Browse the repository at this point in the history
  • Loading branch information
britzl committed Aug 17, 2023
1 parent f5d81a7 commit 7415a12
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 31 deletions.
32 changes: 1 addition & 31 deletions docs/ru/manuals/gui-box.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,34 +25,4 @@ brief: В данном руководстве объясняется, как и

Ноды Box могут воспроизводить анимацию из атласов или тайловых источников. За подробностями обращайтесь к [руководству по мультикадровой анимации](/manuals/flipbook-animation).

## Текстурирование Slice9

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

Обычно движок масштабирует текстуру, чтобы она соответствовала границам ноды Box, но, определив краевые области Slice9, можно определить границы того, какие части текстуры должны масштабироваться:

![GUI scaling](images/gui-box/scaling.png){srcset="images/gui-box/[email protected] 2x"}

Нода Box *Slice9* включает в себя 4 числа, которые определяют количество пикселей для левого, верхнего, правого и нижнего полей, которые не должны подвергаться регулярному масштабированию:

![Slice 9 properties](images/gui-box/slice9_properties.png){srcset="images/gui-box/slice9[email protected] 2x"}

Поля устанавливаются по часовой стрелке, начиная с левого края:

![Slice 9 sections](images/gui-box/slice9.png){srcset="images/gui-box/[email protected] 2x"}

- Угловые сегменты никогда не масштабируются.
- Краевые сегменты масштабируются вдоль одной оси. Левый и правый краевые сегменты масштабируются по вертикали. Верхний и нижний краевые сегменты масштабируются по горизонтали.
- Центральная область текстуры масштабируется по горизонтали и вертикали по мере необходимости.

Описанное выше масштабирование текстуры *Slice9* применяется только при изменении размера ноды Box:

![GUI box node size](images/gui-box/slice9_size.png){srcset="images/gui-box/slice9[email protected] 2x"}

Если изменить параметр Scale ноды Box --- нода и текстура будут масштабироваться без применения параметров *Slice9*.

Из-за того, как работает мипмаппинг в рендере, при масштабировании сегментов текстуры иногда могут возникать артефакты. Это происходит при _масштабировании_ сегментов ниже исходного размера текстуры. Затем рендерер выбирает для сегмента мипмап с более низким разрешением, что приводит к появлению визуальных артефактов.

![Slice 9 mipmapping](images/gui-box/mipmap.png){srcset="images/gui-box/[email protected] 2x"}

Чтобы избежать этой проблемы, убедитесь, что сегменты текстуры, которые будут масштабироваться, достаточно малы, чтобы никогда не масштабироваться в меньшую сторону, а только в большую.
:[Slice-9](../shared/slice-9-texturing.md)
32 changes: 32 additions & 0 deletions docs/ru/shared/slice-9-texturing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
## Текстурирование Slice9

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

Обычно движок масштабирует текстуру, чтобы она соответствовала границам ноды Box, но, определив краевые области Slice9, можно определить границы того, какие части текстуры должны масштабироваться:

![GUI scaling](../shared/images/gui_slice9_scaling.png){srcset="../shared/images/gui_[email protected] 2x"}


Нода Box *Slice9* включает в себя 4 числа, которые определяют количество пикселей для левого, верхнего, правого и нижнего полей, которые не должны подвергаться регулярному масштабированию:

![Slice 9 properties](../shared/images/gui_slice9_properties.png){srcset="../shared/images/gui_[email protected] 2x"}

Поля устанавливаются по часовой стрелке, начиная с левого края:

![Slice 9 sections](../shared/images/gui_slice9.png){srcset="../shared/images/gui_[email protected] 2x"}

- Угловые сегменты никогда не масштабируются.
- Краевые сегменты масштабируются вдоль одной оси. Левый и правый краевые сегменты масштабируются по вертикали. Верхний и нижний краевые сегменты масштабируются по горизонтали.
- Центральная область текстуры масштабируется по горизонтали и вертикали по мере необходимости.

Описанное выше масштабирование текстуры *Slice9* применяется только при изменении размера ноды Box:

![GUI box node size](../shared/images/gui_slice9_size.png){srcset="../shared/images/gui_[email protected] 2x"}

Если изменить параметр Scale ноды Box --- нода и текстура будут масштабироваться без применения параметров *Slice9*.

Из-за того, как работает мипмаппинг в рендере, при масштабировании сегментов текстуры иногда могут возникать артефакты. Это происходит при _масштабировании_ сегментов ниже исходного размера текстуры. Затем рендерер выбирает для сегмента мипмап с более низким разрешением, что приводит к появлению визуальных артефактов.

![Slice 9 mipmapping](../shared/images/gui_slice9_mipmap.png){srcset="../shared/images/gui_[email protected] 2x"}

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

0 comments on commit 7415a12

Please sign in to comment.