На данный вопрос уже ответили:
В скриптах, которые висят на этих объектах нет элементов влияющих на BoxCollider2D
и CircleCollider2D
, перемещение осуществляется с помощью transform.position += x;
, где x некоторый Vector3
элемент (поскольку для подобного рода игры адекватные способы перемещения через veliocity
или AddForce()
не придумал). Почему Турель с CircleCollidet2D
на TurrelAim
игнорирует коллизию с BoxCollider2D
на Pawuk
?
Давайте рассуждать логически. Как, по-вашему, физический движок поймёт, с чем столкнулся объект, если вы используете transform.position += x;
?
Скажем:
стена 1 стена 2
| |
старая_позиция_объекта | | новая_позиция_объекта
| |
Если вы явно поменяли координаты, то что Unity должен решить? Столкнулись ли вы со стеной 1? Или со стеной 2? Или с обеими? Или ни с одной?
Если вы хотите, чтоб коллизии нормально обрабатывались, то меняйте позицию объектов, прикладывая силу, e.g. rigidbody.velocity = x
или rigidbody.MovePosition
.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Полет пули к цели с практически одинаковой скоростью осуществляется с помощью данного скрипта:
Реализую простой фасад для сокрытия более низкоуровневых решенийЕсть модель данных:
Имеется метод, который внутри себя запускает дважды другой метод, но второй раз асинхронноИ вот внутри Task не срабатывает SaveToDB()
Есть такая реализация: переходы три перехода между играми, когда мы перешли, срабатывает некий метод с корутиной в 3 секунды, но если очень...