Почему слои дейтсвуют по разному?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Почему слои дейтсвуют по разному?

Сообщение Zimaell 15 ноя 2022, 17:15

Мне нужно проверять кое-где лучами а кое-где сферой, проверяю так
Синтаксис:
Используется csharp
public LayerMask RayIgnoreLayer;
......
if(Physics.Raycast(CheckPointCenter.position, Vector3.down, out RayHit, 3)){
if(Physics.CheckSphere(CheckSphereCenterBottom.position, CheckSphereRadius, ~RayIgnoreLayer)){
......

Как вы видите у луча указан номер слоя, а у сферы маска (выставлена 3я в поле), если у луча поставить маску или у сферы поставить номер то срабатывать не будет, работает только вот в таком виде, почему так?
Zimaell
UNITрон
 
Сообщения: 337
Зарегистрирован: 04 июл 2020, 18:45

Re: Почему слои дейтсвуют по разному?

Сообщение Tolking 15 ноя 2022, 17:20

там должен быть не номер слоя а маска слоя.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2675
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Почему слои дейтсвуют по разному?

Сообщение Zimaell 15 ноя 2022, 17:28

Tolking писал(а):там должен быть не номер слоя а маска слоя.

но почему-то если я устанавливаю маску как у сферы то луч не срабатывает, в этом то и проблема, там так срабатывает а там так, а почему так не пойму...
Zimaell
UNITрон
 
Сообщения: 337
Зарегистрирован: 04 июл 2020, 18:45

Re: Почему слои дейтсвуют по разному?

Сообщение Alkos26Rus 15 ноя 2022, 18:21

~
Этот зачем символ?
Единица - ноль
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1425
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Почему слои дейтсвуют по разному?

Сообщение Tolking 15 ноя 2022, 19:06

~ это "побитовое не"

Может просто Raycast не попадает никуда?
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2675
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Почему слои дейтсвуют по разному?

Сообщение 1max1 15 ноя 2022, 21:12

Зачем использовать ~ если ты делаешь маску, это же не удобно.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5214
Зарегистрирован: 28 июн 2017, 10:51

Re: Почему слои дейтсвуют по разному?

Сообщение Zimaell 15 ноя 2022, 21:14

1max1 писал(а):Зачем использовать ~ если ты делаешь маску, это же не удобно.

делал по примеру, написано что если так установить и потом в поле выбрать те слои которые должны игнорироваться то они будут игнорироваться, только вот что у меня в результате получилось...
Zimaell
UNITрон
 
Сообщения: 337
Зарегистрирован: 04 июл 2020, 18:45

Re: Почему слои дейтсвуют по разному?

Сообщение Zimaell 15 ноя 2022, 21:15

Tolking писал(а):~ это "побитовое не"

Может просто Raycast не попадает никуда?

не ну с цифрой то работает, я получаю длину луча до объекта...
а вот с маской луч как раз никуда не попадает, я не знаю что за глюк, вот и сам сижу и думаю, вроде всё как нужно...
ну тогда потом в отдельном чистой проекте попробую...
Zimaell
UNITрон
 
Сообщения: 337
Зарегистрирован: 04 июл 2020, 18:45

Re: Почему слои дейтсвуют по разному?

Сообщение 1max1 15 ноя 2022, 21:42

Выведи в консоль оба значения.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5214
Зарегистрирован: 28 июн 2017, 10:51

Re: Почему слои дейтсвуют по разному?

Сообщение Zimaell 16 ноя 2022, 11:44

1max1 писал(а):Выведи в консоль оба значения.

вот тут я как бы не понял, я вывел дебаг Debug.Log(~RayIgnoreLayer);, мне вывело -9, хотя слой находится под номером 3, в поле выбран только 3й слой, 9го слоя нет вовсе, не понял что-то я...
Zimaell
UNITрон
 
Сообщения: 337
Зарегистрирован: 04 июл 2020, 18:45

Re: Почему слои дейтсвуют по разному?

Сообщение Zimaell 16 ноя 2022, 11:56

всё разобрался, я не указывал длину луча
Синтаксис:
Используется csharp
if(Physics.Raycast(CheckPointCenter.position, Vector3.down, out RayHit, ~RayIgnoreLayer) // не работает, считает слой длиной луча
if(Physics.Raycast(CheckPointCenter.position, Vector3.down, out RayHit, 1f, ~RayIgnoreLayer) // так работает

В данном вопросе "мистика" исчезла...
Zimaell
UNITрон
 
Сообщения: 337
Зарегистрирован: 04 июл 2020, 18:45


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25