Я делаю работу для школы: игра, как Бомбермен.
Моя проблема в том, что когда взрывается бомба, частицы должны перестать появляться после стены. Вот изображение проблемы:

У меня есть этот код здесь, чтобы вызвать бомбу и запустить сопрограмму, чтобы породить частицы в каждом направлении:
void Explode()
{
Instantiate(explosionPrefab, transform.position, Quaternion.identity);
StartCoroutine(CreateExplosions(Vector3.forward));
StartCoroutine(CreateExplosions(Vector3.right));
StartCoroutine(CreateExplosions(Vector3.back));
StartCoroutine(CreateExplosions(Vector3.left));
GetComponent<MeshRenderer>().enabled = false;
exploded = true;
GetComponent<CapsuleCollider>().enabled = false;
Invoke("desativar_particulas", 0.4f);
Destroy(gameObject, .45f);
}
А вот мой сопрограмма порождения частиц:
private IEnumerator CreateExplosions(Vector3 direction)
{
for (int i = 1; i < 3; i++)
{
RaycastHit hit;
Physics.Raycast(transform.position + new Vector3(0, .5f, 0), direction * 10, out hit, i, levelMask);
if (!hit.collider)
{
Instantiate(explosionPrefab, transform.position + (i * direction * 10), explosionPrefab.transform.rotation);
}
else
{
break;
}
yield return new WaitForSeconds(.05f);
}
}
То, что если оператор должен сделать свое дело: стена имеет коллайдер компонента бокса, а частица имеет компонент коллайдера бокса в качестве триггера.
Я что-то пропустил? Пожалуйста, помогите, спасибо.