Я пытаюсь сделать очень простую гоночную игру со сферами, однако у меня много проблем.
Прежде всего, я пытаюсь создать очень простую систему искусственного интеллекта для противников.
Проблема, с которой я столкнулся, заключается в том, что я хочу, чтобы противники распознавали препятствия и избегали их с помощью Raycast, но обнаруживается только определенный тип препятствий, обнаруживается простой куб.
Я создал простойсфера как противник и написал сценарий, чтобы он мог перемещаться и обнаруживать препятствия. Вот функция обновления:
void FixedUpdate()
{
transform.Translate(Vector3.forward * Time.deltaTime * speed);
if (Physics.Raycast(transform.position, transform.forward, 100.0f))
print("There is something in front of the object!");
}
Сообщение печатается только тогда, когда есть куб вперед, и оно не обнаруживает никаких других препятствий.Что может быть не так?Кроме того, есть ли идея, как двигаться влево или вправо, когда противник передаст препятствие?
обнаруженное препятствие
иерархия
cube01, который является дочерним элементом препятствия2, которое не обнаружено