Паки интерфейса

Sandbox Набор панелей — панели с полосой заголовка и кнопки

18 спрайтов интерфейса тёплый песок: панели nine-slice с полосой заголовка, подсказка, полоса заголовка, разделитель, чип и двенадцать состояний со срезанными углами кнопок.

  • ui
  • svg
  • прозрачный png
  • nine-slice
  • панель
  • кнопка
  • меню
  • лента
  • воксель
  • светлый интерфейс
  • строительство
  • песочница
Панель меню тёплый песок с полосой заголовка цвета небесно-голубой и утопленной областью списка, рядом колонка с той же кнопкой с фаской в обычном состоянии, контурном наведении и нажатом
превью 1600×1115прозрачность показана шахматкой

Об этом паке

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

Две панели nine-slice — оконная рамка с полосой заголовка с углами 0 px и утопленная внутренняя рамка с углами 0 px — закрывают почти любой блок, который нужен меню: диалоги, сетки инвентаря, подложки списков, подсказки и панели статистики. Полоса заголовка встроена в верх панели, поэтому шапке диалога не нужен второй спрайт и ручное выравнивание. Обе растягиваются чисто на любой размер, потому что углы никогда не масштабируются, а центр — это заливка плоская.

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

Четыре мелких элемента закрывают то, что нужно меню между панелями: подсказка с указателем, полоса заголовка вдоль верхнего края панели, разделитель раздела с меткой посередине и чип-ярлык для счётчиков и статусов. Ни один из них не является оконной панелью другого размера — nine-slice и так тянется на любой размер, поэтому второй файл другой ширины был бы наполнителем, а не компонентом.

Всё поставляется дважды. Исходники SVG — это файлы, в которых набор рисовался: откройте их, поменяйте шесть тонов песок пустыни или единственный акцент небесно-голубой и экспортируйте заново. Экспорт PNG плоский, прозрачный и заранее отмасштабированный в 1x, 2x и 4x для движков, которым нужны битмапы, без предумноженной альфы и без запечённой тени за границами спрайта.

Загрузка

Прямая ссылка · без регистрации · без страницы ожидания
Скачать ZIP41 kB

Полный набор — исходники SVG, экспорт PNG в 1x/2x/4x, лицензия и readme

Файлы, входящие в этот пак
ФайлФорматВесЗагрузка
Полный набор — исходники SVG, экспорт PNG в 1x/2x/4x, лицензия и readmeZIP41 kB Получить →
Панель окна, редактируемый SVGSVG1.0 kB Получить →
Кнопка (обычное состояние), редактируемый SVGSVG624 B Получить →

Как использовать

  1. В Unity импортируйте PNG, задайте Texture Type как Sprite (2D and UI), а границу — 0, 0, 0, 0 для панели окна и 0, 0, 0, 0 для кнопок; затем поставьте Image Type в Sliced на компоненте интерфейса.
  2. В Godot 4 используйте NinePatchRect и задайте поля патча теми же числами либо просто перетащите SVG и дайте Godot растрировать его в масштабе, указанном в параметрах импорта.
  3. В Unreal импортируйте как Texture2D, создайте Slate Brush с Draw As в режиме Box и введите поле как долю размера текстуры — для панели 96 px и для кнопки 112 px.
  4. Для чётких результатов на нецелых масштабах интерфейса берите PNG 2x или 4x вместо увеличения 1x, либо укажите движку исходный SVG и дайте ему растрировать в конечном размере.

Лицензия

Creative Commons Zero 1.0 — Общественное достояние. Без указания авторства. Полные условия · Что это значит на практике