Я пытаюсь добавить в свою игру сценарий, чтобы всякий раз, когда игрок сталкивается с врагом, он получает урон, но его также отталкивают в противоположном направлении. Я попытался реализовать код расширения Rigidbody2D, размещенный здесь
Вот часть моего сценария игрока:
private void OnCollisionEnter2D(Collision2D other)
{
var magnitude = 5000;
if (other.gameObject.CompareTag("Monster"))
{
TakeDamage(25);
GetComponent<Rigidbody2D>().AddExplosionForce(magnitude, this.transform.position, 500);
}
}
Когда я запускаю игру в Unity, я получаю эту ошибку всякий раз, когда игрок сталкивается с противником:
Rigidbody2D.AddForce(force) assign attempt for 'Player' is not valid. Input force is { NaN, NaN }.
UnityEngine.Rigidbody2D:AddForce(Vector2, ForceMode2D)
Rigidbody2DExt:AddExplosionForce(Rigidbody2D, Single, Vector2, Single, Single, ForceMode2D) (at Assets/Scripts/Rigidbody2DExt.cs:20)
Player:OnCollisionEnter2D(Collision2D) (at Assets/Scripts/Player.cs:94)