Я пытаюсь сделать это через два ray, подобный образом
Vector3 vecForward_point1 = transform.position + Vector3.up + transform.forward * 0.5f + Vector3.left * 0.3f;
Vector3 vecForward_point2 = transform.position + Vector3.up + transform.forward * 0.5f + Vector3.right * 0.3f;
Ray ray = new Ray(vecForward_point1, vec_down);
if (!Physics.Raycast(ray)){
rotate = Vector3.down;
}
Ray ray = new Ray(vecForward_point2, vec_down);
if (!Physics.Raycast(ray)){
rotate = Vector3.up;
}
Но что-то всё это криво работает. Как правильно решать в Unity это задачу ?
Если ход решения правильный, то как правильно сделать расстояние между лучами в зависимости от ширины объекта (Вместо Vector3.left * 0.3f)