@keksmr
Unity разработчик

Unity raycast hit 2d как отследить пустоту?

Стреляю из raycast оно попадает но я не могу отследить когда оно стреляет в пустоту просто не работает
RaycastHit2D hit = Physics2D.Raycast(Vector2.down, Vector2.up);
if (hit.collider == null)
{
scrollSpeed = Mathf.MoveTowards(-10f, 0, velocity * Time.deltaTime);
}
  • Вопрос задан
  • 822 просмотра
Решения вопроса 1
MrMureno
@MrMureno Куратор тега Unity
VR for all
hit - будет хранить последнее значение куда попало. пока во что-то не врежется.
нет у физики в юнити понятия - "столкнулось с пустотой".

так что вам или занулять пред каждой проверкой (хотя не помню работает ли это) или какой-то один глобальный коллайдер/тригер аля "граница мира" делать)

ну и вообще логика физики предполагает реакцию на "что-то что есть". столкновения, пересечения и тд)
попробуйте написать
что скролится/двигается/что оно у вас там делает всегда, а прекращает, если луч врезался во что-то.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Чтобы проверить есть ли что-то в hit можно сравнивать hit.transform != null
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы