Бомбардировщик для top-down игры на Unity.

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Бомбардировщик для top-down игры на Unity.

Сообщение Tranzistor54 22 окт 2023, 20:33

Всем Добрый день! Пытаюсь сделать самолет-бомбардировщик, который будет сбрасывать бомбы на постройки игрока. Пока что возникла проблема с этим самым сбросом. Ситуация такая: в самолете просчитывается точка предполагаемого попадания бомбы. В эту точку выпускается луч, который проверяет есть ли там цель. Ну и дальше сброс бомб. Однако в случае если самолет будет направлен под каким либо углом, то траектория луча получается смещенной. Как сделать так, чтобы точка попадания бомбы следовала перед самолетом, независимо от его вращения по оси Y? Вот методы для точки сброса и луча.
Синтаксис:
Используется csharp
private void BombDropPos()
{
    //Debug.Log($"{transform.position.x } 0, {transform.position.z + speed * bombFlyTime}");
    bombDropPos = new Vector3(transform.position.x, 0, transform.position.z + speed * (bombFlyTime + maxInterval * bombsSP.Count));
}

private void CheckTarget()
{
    RaycastHit hit;
    Ray ray = new Ray(transform.position, -transform.position + bombDropPos);
    Debug.DrawRay(transform.position, -transform.position + bombDropPos, Color.red);
    if (Physics.Raycast(ray, out hit, 100f/*Mathf.Sqrt(speed * speed * (bombFlyTime + maxInterval * bombsSP.Count) * (bombFlyTime + maxInterval * bombsSP.Count) + flyHeight * flyHeight)*/))
    {
        if (hit.collider.GetComponent<Building>() != null)
        {
            Debug.Log("Detected!");
            onTarget = true;
        }
    }
    else
        return;
}

Буду благодарен за любой совет! (Если это важно.Самолет несет 4 бомбы и сбрасывает их с интервалом 0.25 секунд. Поэтому я ко времени полета прибавляю время самого сброса (maxInterval*bombsSP.Count))
Tranzistor54
UNец
 
Сообщения: 1
Зарегистрирован: 22 окт 2023, 20:20

Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 20