или еще какого, он упорно игнорирует слои?
То есть, слой задан верно, весит коллайдер, в настройках все стандартно, и он попросту игнорирует это и не возвращает результат.
При чем, если убрать слой маски, то все работает, и коллайдер который рекайст находит, находится на том же слое, что и сама маска.
Может маску не так задал, через инспектор делал?
Да и через инспектор, и через _layerMask = LayerMask.NameToLayer("Name");
Ну код кидай тогда, так не угадаем
Ну вообще номер слоя и леер Маск разные вещи, попробуй LayerMask.GetMask
Там один и тот же результат. Хз, я уже голову себе сломал. Только убираю маску, все работает.
А такой вопрос, ты в эдиторе тестируешь ведь? а маску задаешь в авейке, то есть не запуская игру она у тебя нулевая ведь
Там ExecuteAlways стоит. Я щас протестил, если я вручную делаю 1<<7 То оно работает, но через инспектор или как выше в авейке, нет. Ничерта не понимаю.
Я конечно понимаю что 7 и 7 в битовом формате не одно и тоже. Но почему тогда методы из LayerMask которые якобы должны приводить к норм типу, не работают.
А бы скорее предположил что авейк работает в каких то жутко обскурных случая при экзекутолвейс
Дак это ж не только в авейк) Я скрипт для примера чисто написал.
А че через инспектор не задашь LayerMask? Вообще я сам помню давно ещё эту проблему с масками и методами, не думал что до сих пор она существует)
Ну там класс который делает рекаст не монобех. А когда прокидываю маску через метод для этого класса, вот не работает. Магия
Используй GetMask NameToLayer возвращает int вместо маски
Обсуждают сегодня