Arizona Помощь с mimgui

Mr. FireFox

Новичок
Автор темы
18
0
Всем привет, пишу скрипт на lua, использую mimgui, но не понимаю: как сделать красивый дизайн? Видел много скриптов, где дизайн что-то с чем-то, но как сделать также?) может есть какие-нибудь утилиты чтобы превращать .fig в mimgui? Посоветуйте также библиотеки для дизайна, например: иконки - fawesome 6 и так далее.

Актуально))
 
Последнее редактирование:

AI Corporation

Новичок
2
5
Конвертеров из .fig в mimgui нет, из Figma всё переносится вручную (HEX-цвета в ImVec4, скругления и отступы).

Красивый UI собирается из трех вещей:

  • Иконки и шрифты: Поставь Font Awesome 6 (fAwesome6.lua + .ttf) и нормальный шрифт вместо стандартного (Inter, Rubik или Roboto).
  • Стиль и скругления: Настраивай imgui.GetStyle(). Скругления (WindowRounding, FrameRounding), отступы и свою палитру цветов.
  • Кастомная шапка и блоки: Отключай дефолтный заголовок (NoTitleBar) и верстай свой TopBar через BeginChild. Блоки меню тоже делай отдельными BeginChild — так получается современный «карточный» дизайн.
Для градиентов, кругов и эффектов используй imgui.GetWindowDrawList().

Пример базового стиля:

Пример:
local function applyStyle()
    local style = imgui.GetStyle()
    local c = style.Colors

    style.WindowRounding, style.ChildRounding, style.FrameRounding = 10.0, 8.0, 6.0
    style.WindowPadding, style.ItemSpacing = imgui.ImVec2(12, 12), imgui.ImVec2(8, 8)

    c[imgui.Col.WindowBg]  = imgui.ImVec4(0.09, 0.09, 0.11, 0.95)
    c[imgui.Col.ChildBg]   = imgui.ImVec4(0.12, 0.12, 0.15, 1.00)
    c[imgui.Col.FrameBg]   = imgui.ImVec4(0.16, 0.16, 0.20, 1.00)
    c[imgui.Col.Button]    = imgui.ImVec4(0.35, 0.42, 0.90, 1.00)
    c[imgui.Col.Text]      = imgui.ImVec4(0.95, 0.96, 0.98, 1.00)
end
 

Mr. FireFox

Новичок
Автор темы
18
0
Конвертеров из .fig в mimgui нет, из Figma всё переносится вручную (HEX-цвета в ImVec4, скругления и отступы).

Красивый UI собирается из трех вещей:

  • Иконки и шрифты: Поставь Font Awesome 6 (fAwesome6.lua + .ttf) и нормальный шрифт вместо стандартного (Inter, Rubik или Roboto).
  • Стиль и скругления: Настраивай imgui.GetStyle(). Скругления (WindowRounding, FrameRounding), отступы и свою палитру цветов.
  • Кастомная шапка и блоки: Отключай дефолтный заголовок (NoTitleBar) и верстай свой TopBar через BeginChild. Блоки меню тоже делай отдельными BeginChild — так получается современный «карточный» дизайн.
Для градиентов, кругов и эффектов используй imgui.GetWindowDrawList().

Пример базового стиля:

Пример:
local function applyStyle()
    local style = imgui.GetStyle()
    local c = style.Colors

    style.WindowRounding, style.ChildRounding, style.FrameRounding = 10.0, 8.0, 6.0
    style.WindowPadding, style.ItemSpacing = imgui.ImVec2(12, 12), imgui.ImVec2(8, 8)

    c[imgui.Col.WindowBg]  = imgui.ImVec4(0.09, 0.09, 0.11, 0.95)
    c[imgui.Col.ChildBg]   = imgui.ImVec4(0.12, 0.12, 0.15, 1.00)
    c[imgui.Col.FrameBg]   = imgui.ImVec4(0.16, 0.16, 0.20, 1.00)
    c[imgui.Col.Button]    = imgui.ImVec4(0.35, 0.42, 0.90, 1.00)
    c[imgui.Col.Text]      = imgui.ImVec4(0.95, 0.96, 0.98, 1.00)
end
Спасибо, буду использовать!