Всплывающие числа урона: приёмка передачи и реализация в движке
Критерии провала: размытые попапы, пропущенные глифы, неверная сортировка, фризы; выбор TMP или битмап-цифр, пулы и порядок Canvas, приёмка в Unity UGUI и подключение арта цифр.
- game-ui-design
- game-dev-ai
- ui-to-engine
- bitmap-font
- unity
- godot
- cocos
- vberai
- 2026
Когда за одну секунду прилетает десять ударов, проблемы с всплывающим текстом редко решаются «шрифтом побольше»: резко в Editor, размыто на устройстве; цвет крита работает, но пропала «K» или минус; числа сидят на кнопках HUD и перехватывают тапы; или Instantiate даёт всплески GC. Попапы — это высокочастотный, короткоживущий UI — принимайте их отдельно от статичного HUD.
Ниже — про Unity UGUI / TextMeshPro (RectTransform, Canvas, sortingOrder). Godot: Label + Theme / bitmap; Cocos: Label + bitmap font + pool — критерии и порядок шагов те же. Статичная оболочка HUD: чек-лист движка + MCP. Пункт 3 перед релизом («размытый арт / числа урона») — перепроверяйте на устройствах в Release.
Критерии провала (любой один = не пройдено): страдает читаемость (размытие, обрезка, пропущенные глифы); время кадра в бою заметно хуже базовой линии без попапов на целевых устройствах; попапы блокируют нужные тапы, когда raycast всё ещё включён; визуал крита/лечения/промаха не совпадает со спецификацией на основе данных; форматирование чисел не согласовано с дизайн-таблицей (например, 1.2K и 1200 вперемешку).
Сначала выберите: TMP или битмап-цифры
| Сценарий | Что лучше подходит | Типичная ловушка |
|---|---|---|
Цифры + немного символов (0-9 . + - %) | Битмап / кастомный меш цифр | Пробелы в наборе символов; неверный фильтр → размытие |
| Полные локализованные строки («Critical», «Immune») | TMP + таблица строк | Дрожание ширины при смешивании с цифрами |
| Тяжёлая обводка, градиент, анимированный стиль | Битмап или покадровая последовательность | Нет состояния → неверный фолбэк цвета |
| Прототип | Стандартный TMP SDF | Нет reference resolution → размыто на устройстве |
Если размытие на устройстве сохраняется: Canvas Scaler reference, padding/атлас TMP, Filter Mode битмапа (часто Point) — и только потом качество набора символов или SDF. См. планирование набора символов битмап-шрифта и пункт 3 перед релизом.


Unity: сборка и приёмка (6 шагов)
1. Отдельный Canvas или явная сортировка
- Используйте отдельный Canvas (
Screen Space - Camera, выровненный по боевой камере) или дочерний слой HUD. - Задайте
sortingOrderвыше world UI, ниже модальных попапов;raycastTarget = falseна графике попапа. - Мировые попапы: один общий World Canvas — не по одному Canvas на число.

2. Пул объектов
- Прогрейте не меньше пикового числа на экране (стресс от скиллов; часто минимум 16–32).
- При возврате в пул: сбросьте позицию, альфу, масштаб, состояние анимации, текст.
- Никаких
Instantiate/Destroyна каждый удар.
3. Отделите данные от представления
- Бой испускает
DamagePopupEvent(значение, тип, мировая позиция/точка привязки, флаг крита). - Представление выбирает цвет, префикс, сокращение (K/M/B), кривые.
- Дизайн-таблица сопоставляет тип → Prefab стиля (Normal / Crit / Heal / Miss / Block).
4. Движение и читаемость
- Обычно: всплытие вверх + затухание + лёгкий масштаб; 0.4–0.8 с; смещение или очередь на одном якоре.
- Мультиудар в одном кадре: объединяйте или смещайте на 1–2 кадра, чтобы избежать наложения.
- Если размер зависит от дистанции до камеры, используйте одно правило мирового масштаба — не смешивайте с масштабом UI Canvas дважды.

5. Набор символов и форматирование
- Битмап: проверьте
0-9 . , + - % x K M Bи правила сокращений проекта. - TMP: разделяйте поля или спрайты — не полагайтесь на одну строку для переключения шрифтов.
- С переполнением при локализации: не растрируйте целые локализованные предложения как арт попапа.
6. Проверка на устройстве
- Dev и Release: 30 с роя мобов, мультитиковый скилл босса, устройство с малым объёмом RAM.
- Сравните время кадра с попапами и без; сделайте по одному скриншоту крита/лечения/промаха.
- Критерии прохождения живут в Prefab + конфиге пула, а не только в тестовой Scene.
Передача от дизайна (цифры и состояния)
| Поставка | Использование |
|---|---|
| Арт цифр или стили TMP по состояниям (Normal/Crit/Heal/Miss) | Prefab/Material на основе таблицы |
| Обводка/тень в целевом разрешении | Проверка резкости на устройстве |
| Цвет + иконка крита/комбо на цифрах | Избегайте захардкоженных оттенков в коде |
| Область набора символов (только цифры или локализованные единицы) | Битмап или таблица строк |
Чек-лист передачи дизайна: если попапы растровые, укажите по локалям или нет; по умолчанию битмап-цифры + метки TMP.
Маршрутизация исправлений
| Симптом | Вероятная причина | Действие | Ответственный |
|---|---|---|---|
| Размыто на устройстве, резко в Editor | Scaler / SDF / фильтр битмапа | Согласуйте reference res; фильтр Point; padding SDF | Инженер |
| Пропущены глифы | Набор символов / символы | Расширьте набор; или TMP | Инженер + Дизайн |
| Блокирует кнопки | Сортировка / raycast | Понизьте order или отключите raycast | Инженер |
| Фризы | Нет пула / слишком много FX+текста | Пул; объединение попапов одного кадра | Инженер |
| Неверный вид крита | Захардкоженные цвета | Тип→Prefab; состояния от дизайна | Инженер + Дизайн |
| Расхождение со стилем HUD | Два шрифтовых пайплайна | Унифицируйте источник шрифта или Theme | Дизайн + Инженер |
Часто задаваемые вопросы
Попапы обязательно в World Space?
Нет. Фиксированный 2D часто использует Screen Space - Camera; свободные 3D-камеры часто используют World Canvas. Выберите одно и задокументируйте.
UI-частицы для эффектности?
Нормально для FX; цифры остаются Label/TMP/мешем ради локализации и пулинга.
Один скрипт с логикой урона?
Испускайте события из логики; переключатель представления (ShowDamageNumbers) для тестов и доступности.
Большие числа?
Одно правило форматтера от дизайна; единственная реализация — без копипаста по UI-скриптам.
Читайте дальше
Другие статьи, которые могут вам понравиться
VberAI end-to-end: AI Studio + Engine MCP до играемой мини-игры
Сгенерируйте или импортируйте UI в AI Studio, затем ведите логику и отладку через Cursor с Godot/Unity/Cocos MCP. Внутри запись chibi match-3 — от экспорта Studio до играемого среза без ручного кода.
- VberAI
- AI Studio
- Unity MCP
- Godot MCP
Лучший ИИ для Godot и Unity: инструменты, MCP и VberAI Studio
ИИ для Godot и Unity по задачам: code assistant, MCP к редактору, Figma→движок, матинг. Лучший ИИ для 2D на Godot и ускорение разработки — где VberAI Engine MCP и AI Studio.
- ai-tools
- godot
- unity
- mcp
Переполнение локалей в игровом UI: запас в дизайне и QA экспорта перевода VberAI Studio
Как не допустить поломки кнопок и списков из-за немецкого или испанского текста, заложить ширину в дизайн и сравнить локали на холсте VberAI Studio до полного повторного экспорта.
- game-ui-design
- game-dev-ai
- ui-localization
- i18n