Набор из трёх браузерных инструментов, которые в связке позволяют собрать готовый hero_grid_config.json для Dota 2:
Line-Art → символы;Все инструменты — один HTML-файл = один инструмент. Открываются двойным кликом в браузере, работают полностью офлайн, никуда не отправляют данные и не требуют установки.
Холст у всех — 1193 × 593 px (safe area клиента Dota 2). Всё, что нарисовано внутри, экспортируется в JSON с координатами 1:1.
| Файл | Что делает |
|---|---|
tools/lineart-converter.html |
Line-Art Converter v7.1 — превращает PNG/JPG в символы (Canny + заливка теней) |
tools/pixel-ascii-editor.html |
Pixel ASCII Editor v7.4 — ручное рисование символами, конструктор рамок, импорт/экспорт JSON |
tools/hero-grid-editor.html |
Hero Grid Editor — работа с категориями, героями, текстами, геометрией |
presets/presets.json |
30 готовых пресетов для Line-Art Converter |
data/symbols.txt |
Библиотека используемых символов (справочно) |
Не хочешь скачивать? Открой инструменты прямо в браузере:
| Инструмент | Онлайн-ссылка |
|---|---|
| 🎨 Line-Art Converter | открыть |
| ✏️ Pixel ASCII Editor | открыть |
| 🎴 Hero Grid Editor | открыть |
Всё работает полностью офлайн: после загрузки страницы никакие данные никуда не отправляются.
git clone https://github.com/linsisss/dota2-grid-toolkit.git
tools/*.html двойным кликом в браузере (Chrome / Firefox / Edge).tools/lineart-converter.html — автоматически превращает любую картинку в плотный набор символов.
gridStep.-, |, /, \.| Параметр | Смысл |
|---|---|
Blur σ |
Сглаживание (больше → меньше шума, но теряются детали) |
Threshold |
Порог силы контура |
Скелетизация |
Утоньшение линий (включай почти всегда) |
Заполнение холста % |
Какую долю 1193×593 займёт рисунок |
Шаг сетки (px) |
Толщина/плотность: 2 = очень плотно, 4 = стандарт, 8+ = пунктир |
Плотность % |
Множитель количества символов |
Заливка теней |
Символы, плотность и порог тени |
18 категорий: градиент, точки, стрелки, геометрия, звёзды, карты, типографские, линии (4 и 8 направлений), армянский, иврит, арабский, тайский, хирагана, катакана, хангыль, латиница, кириллица.
30 готовых пресетов лежат в presets/presets.json. Импорт: 📥 Импорт файла → выбрать файл. Дальше — клик по пресету для загрузки.
Свои пресеты сохраняются в localStorage. 📤 Экспорт всех выгрузит их обратно в JSON.
💾 СКАЧАТЬ JSON — сохраняет lineart_free.json в формате Dota.📋 Копировать ASCII — ASCII-карта в буфер обмена.tools/pixel-ascii-editor.html — ручной редактор символов на холсте.
simple, double, round, dotted, heavy, deco, star, heart, music, snow, cross, spade, dotdec, wavy, geometric).90° / 180° / 270°, отражения H / V.×1.25, ×0.8, ⛶ Заполнить холст, ↺ Сброс.hero_grid_config.json — категории превратятся в символы.💾 СКАЧАТЬ JSON — сохраняет pixel_art_hero_grid.json.| Клавиша | Действие |
|---|---|
P |
Dota Preview |
S |
Выделение области |
G |
Сетка |
M / N |
Симметрия H / V |
F |
Рамка |
1–9 |
Выбор символа из активной категории |
Ctrl+Z |
Отмена |
Ctrl+C/V/D/A |
Копир. / Вставка / Дубль / Выделить всё |
Q / E |
Поворот −90° / +90° |
H / N |
Отразить H / V |
+ / - |
Масштаб ×1.25 / ×0.8 |
0 |
Заполнить холст |
Delete |
Удалить выделенное |
tools/hero-grid-editor.html — работа с категориями готовой сетки.
heroes — плитка с героями (сетка по ID).text — любой текст/символ/строка. Именно сюда сохраняются результаты Line-Art и Pixel Editor.Каждую категорию можно тащить, ресайзить, поворачивать, отражать, масштабировать, менять имя/координаты/тип/текст.
⌗ Область — выделить прямоугольником.Shift+клик — добавить/убрать из выделения.Ctrl+A — выделить всё.✂ Обрезать всё за границы — подрезает категории за пределами 1193×593.+ Герои — плитка на 12 героев (ID 1–12).+ Текст — одна текстовая категория.+ ASCII — умная кнопка: читает буфер обмена, разбивает текст по строкам/фрагментам и создаёт категории. Есть режимы: по строкам, по 1/2/3/4/5 символов и регулятор плотности.Раздел «ASCII — символы» собирает все уникальные символы из ASCII-категорий. Каждому можно задать замену, потом нажать ЗАМЕНИТЬ СИМВОЛЫ или • ЗАМЕНИТЬ ВСЁ НА ТОЧКИ.
Для превью 1:1 можно загрузить radiance_regular.ttf из ...\dota 2 beta\game\dota\resource\.
| Клавиша | Действие |
|---|---|
Ctrl+Z |
Отмена |
Ctrl+A |
Выделить всё |
Esc |
Снять выделение / выйти из режима области |
Delete |
Удалить выделенное |
Q / E |
Поворот −90° / +90° |
H / V |
Отразить H / V |
+ / - |
Масштаб ×1.25 / ×0.8 |
0 |
Заполнить холст |
Все инструменты пишут один и тот же формат:
{
"version": 3,
"configs": [
{
"config_name": "Custom",
"categories": [
{
"category_name": ".",
"x_position": 120.5,
"y_position": 84.0,
"width": 30.0,
"height": 30.0,
"hero_ids": []
}
]
}
]
}
category_name — для текста это сам символ, для героев — название группы.x_position / y_position — координаты в пикселях внутри 1193×593.width / height — 30.0 стандарт для одиночного символа.hero_ids — массив ID героев (пустой для текста).Настройки → Игра → Импорт сетки.Сетки → Импорт....\dota 2 beta\game\dota\resource\grid\.lineart-converter.html → загрузи PNG → подбери пресет.💾 СКАЧАТЬ JSON.pixel-ascii-editor.html → перетащи JSON → появится на холсте.💾 СКАЧАТЬ JSON → готовый файл в Dota.pixel-ascii-editor.html → включи Safe Area и сетку.💾 СКАЧАТЬ JSON.hero-grid-editor.html → загрузи JSON → добавь категории «Герои» с ID.Экспорт JSON → финальный файл.hero-grid-editor.html → импортируй чужой JSON.║ и ═ нельзя использовать в Dota — она рендерит их некорректно. В Pixel Editor есть кнопка для их массового удаления.FileReader и никогда не покидают вкладку.Pull-request’ы приветствуются. Если нашёл баг, есть идея или хочешь добавить пресет — открывай issue.
Особенно полезно:
MIT — делай что хочешь, используй, форкай, дорабатывай.