Не работает Apply Damage

Apply Damage не наносит ущерб персонажу. Что делать?

Ущерб не наносится, потому что центр сферы находится в геометрии BSP или в другом меше, например, пола. Если вы разместите центр актора над полом, то все заработает. В коде функции ApplyRadialDamage проверяется блокируется ли взрыв чем либо или нет. Последний параметр функции ECollisionChannel DamagePreventionChannel отвечает за канал, по которому это будет определяться. Это может пригодиться, если мы не хотим, чтобы взрыв наносил урон персонажу через стену.

В этом дополнительно можно убедиться, добавив в файл Config/DefaultEngine.ini следующие строчки:

[Core.Log]
LogDamage=VeryVerbose

После этого в окне лога напечатается информация, если какой-нибудь актор блокируется при нанесении ущерба:

LogDamage: Radial Damage to CharacterMesh0 blocked by None (ModelComponent_66)

Last updated