Вступить в клуб →
лёгкаявопросФизика, коллизии и рейкасты

Рейкаст по слою Ground с маской 8 попадает не в землю, а в воду

Слой Ground в настройках проекта — номер 8, слой Water — номер 3.

if (Physics.Raycast(transform.position, Vector3.down, out var hit, 2f, 8))
{
    isGrounded = true;
}

Персонаж считает себя стоящим на земле над водой и не видит настоящую землю. Почему?

  • Маска — набор битов: 8 это бит слоя 3
  • Номера слоёв в коде считаются с единицы
  • Raycast игнорирует маску при длине луча до 5
  • Слой Water всегда пересекает луч первым

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела