Unity c# не понимаю в чем проблема

Начинающий
Статус
Оффлайн
Регистрация
18 Июл 2022
Сообщения
21
Реакции[?]
5
Поинты[?]
5K
У меня в коде
Пожалуйста, авторизуйтесь для просмотра ссылки.
почему то не вызелает Debug,Log("Norm2") в функции IsMouseOverObject. При этом на объекте VU который я указываю в апдейт при первой проверке весит mesh collider с включенными convex trigger. Кто знает почему так происходит?
 
godsystem
Пользователь
Статус
Оффлайн
Регистрация
26 Авг 2022
Сообщения
294
Реакции[?]
45
Поинты[?]
2K
  1. Проверьте, правильно ли вы указали объект VU в коде. Убедитесь, что объект VU имеет правильное имя и он был объявлен и инициализирован корректно.
  2. Проверьте, находится ли объект VU в поле зрения курсора мыши. Если объект находится вне области видимости курсора, то функция IsMouseOverObject не будет вызвана.
  3. Убедитесь, что функция IsMouseOverObject вызывается из правильного места в коде. Убедитесь, что она вызывается в нужный момент времени, например, внутри функции Update() или в ответ на событие мыши.
  4. Проверьте, нет ли других условий или кода внутри функции IsMouseOverObject, который может препятствовать вызову Debug.Log("Norm2"). Перепроверьте ваш код на предмет других потенциальных проблем.
 
Начинающий
Статус
Оффлайн
Регистрация
18 Июл 2022
Сообщения
21
Реакции[?]
5
Поинты[?]
5K
зачем мне твой ответ с чат гпт. Я уже все что можно перепроверил, уже начал двоичный код перепроверять
 
АМБАССАДОР ЩИТПОСТА
Пользователь
Статус
Оффлайн
Регистрация
24 Мар 2022
Сообщения
178
Реакции[?]
42
Поинты[?]
3K
Чтобы определить причину того, почему Debug.Log("Norm2") не вызывается в вашей функции IsMouseOverObject, вам может потребоваться выполнить несколько шагов:

  1. Убедитесь, что код внутри условия (hit.collider != null) выполняется. Если условие не выполняется, то Debug.Log("Norm2") не вызовется. Проверьте значение hit.collider и убедитесь, что оно не равно null.
  2. Если условие выполняется, убедитесь, что объект hit.collider.gameObject является объектом, который должен вызывать Debug.Log("Norm2"). Проверьте его свойства и убедитесь, что он находится в нужном состоянии.
  3. Проверьте, нет ли каких-либо других условий или фрагментов кода, которые могут препятствовать вызову Debug.Log("Norm2"). Может быть, есть какие-то другие условия, которые блокируют выполнение этой строки кода.
Если у вас есть конкретные фрагменты кода, которые вызывают у вас вопросы, пожалуйста, предоставьте их, и я постараюсь вам помочь более конкретно.
 
Начинающий
Статус
Оффлайн
Регистрация
21 Авг 2024
Сообщения
13
Реакции[?]
0
Поинты[?]
0
Привет. Вижу что тема старая... Наверно уже давно решил свой вопрос. Хорошо бы взять за правило всем новичкам отвечать на свой же вопрос в постах где они их оставляют. Для таких же новичков как и ты у которых могут возникать такие же проблемы. Просто вернулся к посту и ответил сам себе как ты решил эту проблему и в чем она была. Это как правило хорошего тона.
И вообще возьми за правило при поисках проблем в таких не очевидных вещах писать у всех IF так же и ELSE


  1. if(hit.collider == obj)
  2. {
  3. Debug.Log("Norm2");
  4. return true;
  5. }
  6. else
  7. {
  8. Debug.Log("Not object");
  9. }
Когда ты увидишь что срабатывает else ты хотябы поймешь что ты заходишь в этот участок кода и начнешь копать, а что же тебе всё таки приходит в коллайдере, а стоит ли вообще проверять на равенство с obj и так далее. И проблема быстро решится
 
Похожие темы
Сверху Снизу