reckfellENGINE

Боковой контакт и завершение раунда

Area3D проверяет актуальное пересечение на полу, включая приземление рядом с уже обнаруженным противником.

На этой странице

Область попадания

У игрока есть MobDetector с Mask 4, Monitoring и формой из настроек префаба. Она обнаруживает тела противников на слое 3. Капсула игрока и область выполняют разные задачи: первая участвует в физическом движении, вторая задаёт игровую зону бокового попадания.

В полном контроллере после обработки успешного попадания сверху выполняется правило: если игрок на полу, пересечение с живым SquashMob вызывает TakeHit().

Почему проверяется список пересечений

Одного BodyEntered недостаточно для этого правила. Игрок может войти в область в воздухе, когда поражения ещё нет, а затем приземлиться сбоку, оставаясь внутри неё. Второе событие входа при этом не обязано возникнуть. Поэтому контроллер читает GetOverlappingBodies() в физическом обновлении и проверяет текущее состояние.

Список областей обновляется на шаге физики, не сразу после присваивания Position. В только что созданном или перемещённом объекте нельзя ожидать немедленно готовый список. В этом примере допускается задержка обнаружения до последующего физического обновления.

Одно поражение

TakeHit() сначала выключает Active и обнуляет скорость, затем отправляет Hit. Повторные пересечения не отправят его ещё раз. EndRun() останавливает таймер и противников, а HUD показывает кнопку повторного запуска.

Объекты с IsQueuedForDeletion() игнорируются. Это нужно после StartRun(): старые противники ещё могут присутствовать в кэшированном списке пересечений до фактического удаления.

Ожидаемые случаи

СитуацияРезультат
Падение на верх куба с подходящей нормальюОчко и отскок
Близкое боковое касание на полуЗавершение раунда
Боковое пересечение в воздухеПока не поражение
Приземление сбоку внутри той же областиПоражение после обновления физики
Пересечение со старым удаляемым кубомИгнорируется

Если попадание не срабатывает, проверьте Mask 4 у области, Layer 4 числом у противника, обе формы и Monitoring. Не меняйте параметры мониторинга или физическую форму непосредственно внутри события физического пересечения; такие изменения могут требовать отложенного вызова.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.