Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions jules/Hack_01_Multipage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Лайфхак #1: Мультистраничные меню без костылей 📄

Хочешь сделать так, чтобы в твоём моде было несколько страниц? Например, главная страница с инвентарём и отдельная с настройками? В RZM это делается в два счёта через переменные и условную видимость.

### Как это работает:
Вместо того чтобы прятать элементы руками, мы завязываем их показ на одну переменную. Давай назовём её `$page`.

### Пошаговый гайд:
1. **Создаём экраны (Панели):**
Накидай в редакторе две панели. Первая пусть будет Главным меню, вторая — Настройками.

2. **Настраиваем видимость:**
- Выбери панель Главного меню.
- В Инспекторе (справа) найди настройку **Visibility Mode** (Режим видимости).
- Переключи его на **Conditional** (По условию).
- В появившемся поле напиши простое условие: `$page == 1`.
- Теперь выбери панель Настроек и сделай то же самое, но напиши: `$page == 2`.

3. **Делаем кнопки переключения:**
- Создай кнопку "Настройки" на Главной панели.
- В настройках логики кнопки (On Click / Действие) пропиши команду, которая меняет переменную: `set $page = 2`.
- На панели Настроек сделай кнопку "Назад" и повесь на неё логику: `set $page = 1`.

### Профит! 💥
Всё! При клике на кнопку переменная меняется, а панели сами появляются и исчезают. RZM сам скомпилирует это в сложный код 3DMigoto с кучей `if/else`, а тебе не нужно даже париться об этом. Можешь делать хоть 100 страниц таким макаром!
27 changes: 27 additions & 0 deletions jules/Hack_02_Variables_Logic.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Лайфхак #2: Переменные и Логика (Как заставить кнопки думать) 🧠

RZMenu — это не просто рисовалка. Ты можешь делать интерфейс "умным" с помощью переменных и логических формул.

### Зачем нужны переменные?
Переменная — это коробочка, в которой хранится число. Например, уровень громкости, текущая страница, сколько раз ты нажал на кнопку или выбранный цвет прицела. В RZM они обозначаются значком бакса, например `$clicks`.

### Как с ними работать?

1. **Поля-калькуляторы:**
Знаешь текстовые поля для формул в инспекторе? Они умеют не только в простые условия, но и в математику!
- Ты можешь написать условие: `$hp < 50` (Если ХП меньше 50, показать красный экран).
- Или так: `$volume * 1.5` (Сделать кнопку больше в зависимости от громкости).

2. **Тогглы (Вкл/Выкл переключатели):**
Нужно сделать галочку, которая включает или выключает какую-то фичу в моде?
- Вешаешь на кнопку логику: `set $my_toggle = 1 - $my_toggle`
- **Что это значит?** Если `$my_toggle` был 0, он станет 1 (1 - 0 = 1). Если был 1, станет 0 (1 - 1 = 0). Идеальный переключатель одной строчкой!

3. **Счётчики:**
Хочешь, чтобы кнопка листала скины?
- `set $skin = $skin + 1`
А если скинов всего 3, и нужно чтобы после 3 снова шёл 1-й?
- Используй остаток от деления: `set $skin = ($skin + 1) % 3` (будет крутиться 0, 1, 2, 0, 1, 2...).

### Гибкие текстовые поля (Фича из Phase 2)
Если у тебя какая-то супер длинная и сложная формула (например для кастомного шейдера), не переживай — текстовые поля в Инспекторе (во вкладке Logic) теперь автоматически расширяются по вертикали. Тебе больше не нужно скроллить строку влево-вправо, как сумасшедшему!
20 changes: 20 additions & 0 deletions jules/Hack_03_Anchors_Pivots.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Лайфхак #3: Якоря и Пивоты (Чтобы UI не разъезжался) ⚓

Бывало такое, что рисуешь интерфейс на 4K мониторе, а у друга на ноутбуке половина кнопок улетела за экран? Чтобы этого не было, нужно понимать Якоря (Anchors) и Пивоты (Pivots).

В RZM для этого есть отдельная вкладка "Anchor/Pivot" в Инспекторе.

### Якоря (Где кнопка прикреплена к экрану)
Якорь решает, за какой угол экрана "держится" твой элемент.
- **Center (Центр):** Если поставить якорь по центру, кнопка всегда будет ровно посередине, на любом мониторе.
- **Top Right (Правый верхний угол):** Идеально для мини-карты или кнопок закрытия крестиком (X). Элемент будет "прибит" к этому углу, и если экран станет шире, кнопка поедет вправо вместе с краем экрана.
- **Bottom (Низ):** Подходит для панели скилов или ХП-бара.

### Пивот (Где находится центр самой кнопки)
Пивот (Pivot Point) — это гвоздь, которым кнопка прибита к координатам. От него идёт вращение и масштабирование.
- Если пивот **в центре (0.5, 0.5)**, то при увеличении кнопка будет расти во все стороны равномерно.
- Если пивот **слева (0.0, 0.5)**, то при увеличении (например, ползунок ХП бара) панелька будет расти только вправо, а левый край останется на месте.

### Святая связка 🛠️
*Хочешь сделать крутую выезжающую боковую панель меню слева?*
Ставь Якорь на **Left Center** (Лево, центр), а Пивот тоже на **Left Center**. Тогда панель будет приклеена к левому краю монитора, и ты сможешь её анимировать, просто меняя её ширину или X координату — она будет красиво "выезжать" из-за экрана!
24 changes: 24 additions & 0 deletions jules/Hack_04_Animations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Лайфхак #4: Анимации и Переходы (Делаем плавно!) 🎬

UI-мод без анимаций — это прошлый век. В RZM мы добавили крутой слой анимаций (Animation Layer), чтобы твой интерфейс не просто "всплывал" как кирпич, а появлялся плавно и красиво.

### Как заставить элементы двигаться и исчезать?
Мы используем встроенный шейдер-переход и плавное появление.

1. **Fade Transitions (Плавное появление и затухание)**
Тебе не нужно писать тонну кода на 3DMigoto для этого!
В настройках панели или кнопки во вкладке "Animation" (Анимация) найди ползунок **Fade Transition**.
- Поставь галочку "Включить плавный переход".
- Выбери скорость (например, 0.5 секунды).
- Теперь, когда панель становится видимой (например, при смене страницы `$page`), её непрозрачность (opacity) будет сама плавно нарастать с 0.0 до 1.0!

2. **Liquid Fill (Заливка кнопки "Водой")**
Хочешь, чтобы кнопка заливалась цветом при наведении на неё (Ховер) как в крутых играх?
- В настройках кнопки есть режим "Liquid Fill" (Жидкая заливка).
- Это работает как шейдер-маска: цвет снизу вверх или слева направо плавно закрашивает кнопку, если юзер навёл на неё мышку или нажал.
- Ты можешь настроить цвет этой "жидкости" и направление.

### Почему это работает так плавно? (Чуть-чуть под капотом)
Обычно в 3DMigoto анимации делаются через сложную систему таймеров (`time`) и математических синусоид (`sin(time)`). Но компилятор RZM берёт всю эту математику на себя. Он сам генерирует переменные для каждого кадра и "рисует" эту плавность.

Так что ты просто ставишь галочку в редакторе, а на выходе получаешь мазутную анимацию без единой строчки кода.
18 changes: 18 additions & 0 deletions jules/Hack_05_Outliner_Physics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Лайфхак #5: Аутлайнер и Физика Перетаскивания (Магия Редактора) 🪄

RZMenu — это не только про то, что получается на выходе. Сам редактор (наш любимый Qt Engine) тоже напичкан фишками для твоего удобства.

### Аутлайнер (Outliner) — твой лучший друг
В левой части экрана ты увидишь дерево всех твоих элементов. Это Аутлайнер.
- **Драг-энд-Дроп (Drag-and-Drop):** Ты можешь перетаскивать элементы друг в друга! Хочешь положить текст в кнопку? Просто перетащи слой "Текст" на слой "Кнопка" в Аутлайнере. RZM сам сделает так, что текст станет "ребёнком" (Child) кнопки и будет двигаться вместе с ней.
- **Скрытие слоёв:** Нажми на иконку глаза рядом со слоем, чтобы временно скрыть его в редакторе (это не удалит его из мода, просто спрячет, чтобы не мешал).

### Физика "Летающей бумаги" (Apple Magic) 🍏
Когда ты перетаскиваешь слои в Аутлайнере или элементы на главном экране (Viewport), они не просто телепортируются.
- **Пружинистость:** Мы добавили физику! Элементы при перетаскивании слегка "отстают" и пружинят (corner-pinning), создавая ощущение, что ты тянешь реальную бумагу или карточку.
- **Зачем?** Это просто красиво и даёт тактильный фидбек, чтобы ты понимал, что элемент "отцепился" от сетки и готов к перемещению.

### Глобальные темы (Без хардкода!)
Устал от скучных цветов? В редакторе можно менять темы (например, тёмная тема или светлая).
- Все цвета в редакторе привязаны к функции `get_current_theme()`. Никаких вбитых вручную цветов!
- Можешь даже настроить свои цвета (через системные переменные `radius_md`, `elevation_shadows` и т.д.), чтобы редактор выглядел так, как тебе хочется.
20 changes: 20 additions & 0 deletions jules/Hack_06_Shaders_VFX.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Лайфхак #6: Готовые Шейдеры и VFX (Взрываем визуал) ✨

В интерфейсе важны не только кнопки, но и эффекты: свечение, переливание цветов, искажение. Если ты не знаешь, как писать шейдеры на HLSL для 3DMigoto, не беда. В RZM уже есть "встроенные" заготовки (Пре-бейджены).

### Сниппеты (Snippet Shaders)
Сниппет — это кусочек готового шейдер-кода, который RZM заботливо вставит в мод за тебя. Тебе нужно только выбрать его в редакторе.

1. **Морфинг Текстур (Texture Morphing):**
- У тебя есть две картинки (например, кнопка "Play" обычная и "Play" светящаяся).
- Включи снайппет "Texture Morph", и при наведении на кнопку картинка будет не просто резко меняться, а плавно "перетекать" из одной в другую!

2. **Цветные Шлейфы (Trails):**
- Крутая фишка для курсора (если ты делаешь кастомный курсор). Включи Trails, и за курсором будет оставаться красивый след, как в OSU! или других ритм-играх.

3. **Color Management (Управление Цветом прямо в игре):**
- Надоело каждый раз перерисовывать текстуры в фотошопе, чтобы поменять цвет кнопки с синего на красный?
- В RZM можно применить шейдер `Color Multiply`. Загрузи серую (ч/б) текстуру кнопки, а цвет задавай через Инспектор. В игре она перекрасится сама! Это экономит кучу места в моде, так как не нужно грузить 10 разноцветных текстур.

### Как это включить?
Выбери нужный элемент (например, панель или картинку). В инспекторе ищи раздел **Material/Shader**. Там будет выпадающий список со всеми нашими заготовками (Сниппетами). Выбрал, настроил параметры (цвет, скорость) — готово. RZM сам всё "запечёт" в итоговый ini.
18 changes: 18 additions & 0 deletions jules/Hack_07_Blender_Screenshots.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Лайфхак #7: Внедрение скриншотов из Blender (Image Capture) 📸

Делаешь мод на интерфейс, но тебе нужно вставить туда картинку своего 3D-персонажа? Или красивый рендер пушки? Забудь про экспорт в PNG и возню с папками!

RZM позволяет делать всё прямо внутри Blender'а.

### Как это работает:
1. **Настрой сцену:** Поставь свою 3D-модельку в Blender'е как тебе нравится, настрой свет, камеру.
2. **Используй функцию Capture:** В боковой панели RZM (там где все инструменты) найди кнопку **Image Capture** (Сделать снимок).
3. **Что произойдёт?** Аддон сам срендерит твою сцену и, самое главное, **автоматически встроит эту картинку прямо в память `.blend` файла**!

### Зачем это нужно?
Тебе больше не нужно таскать за собой кучу внешних текстур на флешке или бояться, что ты забыл их прикрепить к моду. Вся твоя "встроенная" графика будет жить внутри одного файла Blender. Когда ты нажмёшь "Экспорт мода", RZM сам вытащит эту картинку и правильно положит её в папку с модом.

### Прямо в Редактор!
После того как ты сделал "Capture", ты можешь сразу выбрать этот скриншот в нашем Qt-редакторе. Просто создай элемент "Image" (Картинка) и в его свойствах выбери зарендеренный файл из выпадающего списка. Он сразу появится на твоём интерфейсе!

*Это супер-быстрый пайплайн для тех, кто любит всё делать в одном окне.*
Loading