Логика перемещения по поинтам

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

Логика перемещения по поинтам

Сообщение wakanda 05 дек 2021, 02:41

Есть 2D topdown. Есть враг который перемещается по 4 точкам Transform.
Есть скрипт. Но проблема заключается в том, что rb.MovePosition выполняется всего лишь на секунду или даже на долю,в тот момент когда waitTime <= 0. Соответственно враг никогда не дойдёт до точки( он лишь чутка дёргается, а если добавить скорости то уже телепортируется). А если убрать таймер,то чего начинает штормить как и следовало ожидать. Как тут лучше поступить?
Синтаксис:
Используется csharp
void MovePozition(Vector2 direction)
    {
        if (waitTime <= 0)
        {
            //transform.position = Vector2.MoveTowards(transform.position, point[Random.Range(0, 3)].position, 7 * Time.deltaTime);
            rb.MovePosition((Vector2)transform.position + (direction * moveSpeed * Time.deltaTime));
            waitTime = startWaitTime;
            Debug.Log("go");

           
        }
        else
        {
            waitTime -= Time.deltaTime;
        }

    }
wakanda
UNец
 
Сообщения: 5
Зарегистрирован: 04 дек 2021, 17:19

Re: Логика перемещения по поинтам

Сообщение Xtir 05 дек 2021, 09:59

А почему именно двигать нужно rb? Почему не навмеш или просто трансформ?
ЗЫ двигать нужно с каждым апдэйтом.
Xtir
UNIверсал
 
Сообщения: 498
Зарегистрирован: 21 окт 2016, 00:37

Re: Логика перемещения по поинтам

Сообщение wakanda 05 дек 2021, 12:01

Xtir писал(а):А почему именно двигать нужно rb? Почему не навмеш или просто трансформ?
ЗЫ двигать нужно с каждым апдэйтом.

При помощи transform тоже самое. Насчёт навмеша незнал что он в 2d существует.
То что двигать с каждым обновлением это да, но if (waitTime <= 0) не даёт этого сделать, а без него он дёргается между всеми поинтами
wakanda
UNец
 
Сообщения: 5
Зарегистрирован: 04 дек 2021, 17:19

Re: Логика перемещения по поинтам

Сообщение Xtir 05 дек 2021, 14:39

А зачем вообще waitTime? Ты же ему мешаешь ходить тем самым.
Навмеша в 2д нет, я думал это 3д :)
Xtir
UNIверсал
 
Сообщения: 498
Зарегистрирован: 21 окт 2016, 00:37

Re: Логика перемещения по поинтам

Сообщение trh 13 дек 2021, 18:11

НавМеш в 2д есть. NavMeshPlus называется.
Аватара пользователя
trh
UNец
 
Сообщения: 48
Зарегистрирован: 21 ноя 2020, 13:31


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24