Physics2D не останавливает столкновения - PullRequest
0 голосов
/ 09 октября 2019

Я пытался сделать так, чтобы при нажатии клавиши столкновение отключалось для всех пар игроков и стен. Я знаю, что код Physics2D.IgnoreCollision выполняется, но игроки по-прежнему не могут пройти сквозь стены.

Если это помогает, игроки имеют компоненты RigidBody2D и BoxCollider2D, а стены имеют компоненты PlatformEffector2D и BoxCollider2D.

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

if (Input.GetKeyDown (KeyCode.I)) 
{
    foreach (var player in allPlayers) 
    {
        BoxCollider2D playerCollider = player.GetComponent<BoxCollider2D>();
        if (playerCollider != null) 
        {
            foreach (var wall in allWalls) 
            {
                BoxCollider2D wallCollider = player.GetComponent<BoxCollider2D>();
                if (wallCollider != null) 
                {
                    Physics2D.IgnoreCollision (playerCollider, wallCollider, true);
                }
            }
        }
    }
}
...