Поиск укрытий в реальном времени
Добавлено: 14 июн 2019, 12:15
Привет всем форумчанам! Есть ИИ, есть другой ИИ, они воюют между собой . Когда у одного из них ХП < 40, ему нужно найти укрытие . Пожелание: не хочу делать по вэйпоинтам ! Сцена очень большая, да и впринципе, в сталкере , например, ИИ всё сами анализируют. Проверить, видно ли ИИ из конкретной точки можно так:
Синтаксис:
Используется csharp
bool canSee(Transform from, Transform to)
{
Vector3 direction = to.position - from.position;
Quaternion look = Quaternion.LookRotation(direction);
float angle = Quaternion.Angle(from.rotation, look);
// Debug.Log("ANGLE = "+angle);
Ray ray = new Ray(from.position, direction);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, maxSearchDistance, layerMask))
{
if (hit.transform.gameObject == to.gameObject & angle < eye_fov_range)
return true;
else
return false;
}
return false;
}
{
Vector3 direction = to.position - from.position;
Quaternion look = Quaternion.LookRotation(direction);
float angle = Quaternion.Angle(from.rotation, look);
// Debug.Log("ANGLE = "+angle);
Ray ray = new Ray(from.position, direction);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, maxSearchDistance, layerMask))
{
if (hit.transform.gameObject == to.gameObject & angle < eye_fov_range)
return true;
else
return false;
}
return false;
}