Короче, способ 1, не буду об этом.
Я предполагаю, что вы хотите иметь много игроков (скажем, N) и много пуль (скажем, M). Метод 2 должен проверить все пули против всех игроков, это выполняет ваш тест расстояния N * M раз. С другой стороны, вы можете передать, что физический движок оптимизирует тестирование, используя методы пространственного разделения (Тестирование только на «близких» объектах).
Но имейте в виду, что правильный метод, который нужно использовать, также зависит от скорости вашей пули, в то время как использование коллайдера или проверка расстояния в порядке с довольно медленной пулей (т. Е. С металлическими пулями), у вас будут проблемы с быстрая пуля (т. е. быстрая, как настоящая пуля), два возможных решения - немного поиграть с «Настройки проекта» -> «Физика» или просто сделать Physcis.Raycast (), чтобы получить объект, с которым пуля мгновенно воздействует.