Рейкаст по слою 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 всегда пересекает луч первым
