Я новичок в Unity и заблокировал второй день простой попыткой raycast. Это сценарий, который я использую для raycast:
void Update () {
Debug.DrawLine(transform.position, transform.position - transform.up);
RaycastHit2D[] hits = Physics2D.RaycastAll(transform.position, transform.position - transform.up, Mathf.Infinity);
if(hits.Length > 0)
{
Debug.Log("Hit");
}
}
Я прикрепил этот скрипт к квадрату и поместил рядом с ним другой квадрат, который действует как цель, а также добавил к цели 2d-бокс-коллайдер. Я отключил функцию "самого попадания", как описано здесь: http://answers.unity3d.com/questions/756380/raycast-ignore-itself.html После выполнения всех этих шагов raycast ничего не попадает, коллайдер объекта попадания всегда равен нулю (проверено в режиме отладки, также в консоли ничего не написано). Я нарисовал линию отладки, и она действительно указывает на целевой квадрат, как на скриншотах.
Пожалуйста, помогите мне разобраться, что я делаю не так.