Проверка 3D-игры и диагностика ошибок
Ожидаемый цикл раунда, частые ошибки слоёв и камеры, параметры изменения механики и подготовка к экспорту.
Цикл готовой игры
| Действие | Ожидаемый результат |
|---|---|
| F5 с главным Arena | Площадка, персонаж, счёт 0 и кнопка начала |
| Начать | Управление включается, кнопка скрывается, запускается SpawnTimer |
| WASD / стрелки | Движение по X/Z, без ускорения диагонали |
| Space с пола | Прыжок; повторное нажатие в воздухе не добавляет скорость |
| Приземлиться сверху на куб | Одно очко, удаление куба и отскок |
| Коснуться куба на полу сбоку | Раунд останавливается, счёт сохраняется на экране |
| Повторный запуск | Счёт 0, игрок (0, 0.9, 0), старые кубы удаляются |
| Несколько повторных раундов | Всё ещё одно очко за противника и одна реакция на кнопку |
Найдите причину
| Симптом | Проверить |
|---|---|
| Пустой экран | Главный документ Levels/Arena.rscene, активную Camera3D, меши, свет |
| Запускается старый Main | Main Scene в Project Settings → Application → Run; F5 запускает назначенный документ |
Проект отклонён как Unsupported project / ошибка схемы | Сверить архив со сборкой движка, для которой он опубликован; не подменять project_schema вручную |
| Класс или SDK не найден | Все пять файлов, совпадение имён классов и файлов, успешную сборку .NET 10 / SDK 1.0.0 |
| Игрок падает сквозь пол | Две формы, слой пола 1, маску игрока 5, размеры ресурсов вместо масштабирования тела |
| Нет противников | Активный раунд, таймер, путь Prefabs/Mob.rprefab, корневой SquashMob |
| Прыжок есть, попадания сверху нет | Падение до MoveAndSlide, нормаль контакта, тип противника, слой 4 числом у его тела |
| Боковое попадание не работает | Monitoring, маску 4 области и обновление списка на физическом шаге |
| Два очка за куб | Флаг до сигнала в TrySquash и отсутствие повторной подписки |
| Новый раунд сразу заканчивается | Игнорирование удаляемых объектов и очистку старых экземпляров |
| Меняется размер физики при анимации | Visual отдельно от тела и формы |
Если открыт отдельный префаб, Play/F6 проверяет его отдельно. Для полной игры выберите Run Project (Main Scene) рядом с Play или нажмите F5 при главном Levels/Arena.rscene.
Изменить параметры
Speed, Gravity, JumpSpeed и BounceSpeed доступны у игрока. Скорость противника меняется в его исходном префабе, частота появления — в SpawnTimer.WaitTime. Сохранённые значения инспектора могут перекрывать C#-значения по умолчанию.
При изменении размера площадки согласуйте размер пола и формы, границы X/Z игрока, диапазон появления, порог удаления и кадрирование камеры. Проверяйте результат на реальном целевом устройстве. Проверка кода и физики без графического окна не подтверждает освещение, изображение и реальные устройства ввода.
Настройка экспорта, сохранение рекорда в user://, другой уровень и переход. Скачать все файлы этого прототипа.