Навигация на динамическом обекте.

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

Навигация на динамическом обекте.

Сообщение vitalik77 05 фев 2023, 00:31

Подскажите кто знает как делается.
Мне надо что б нпс по кораблю шастали. Но корабль плавает, навмеш не запечь. Что делать?
vitalik77
UNIверсал
 
Сообщения: 434
Зарегистрирован: 06 май 2021, 09:56

Re: Навигация на динамическом обекте.

Сообщение waruiyume 05 фев 2023, 00:44

Сделать копию корабля, запечь навмеш, взять положение в координат статичного корабля, применить положение в системе координат динамического.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Навигация на динамическом обекте.

Сообщение vitalik77 05 фев 2023, 08:27

waruiyume писал(а):Сделать копию корабля, запечь навмеш, взять положение в координат статичного корабля, применить положение в системе координат динамического.

Разъясните пожалуйста, с координатами не понял ничего?
vitalik77
UNIверсал
 
Сообщения: 434
Зарегистрирован: 06 май 2021, 09:56

Re: Навигация на динамическом обекте.

Сообщение waruiyume 05 фев 2023, 08:45

Vector3 localPos = статичныйОбъект.transform.InverseTransformPoint(положениеАгента);
прсонаж.transform.position = динамическийОбъект.TransformPoint(localPos);
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Навигация на динамическом обекте.

Сообщение Alkos26Rus 05 фев 2023, 10:31

Это можно и с помощью NavMeshComponents сделать
Вон еще в 17 году юнити выкатили такую возможность, смотреть после 8 минуты https://www.youtube.com/watch?v=n-RXnDGE72M&ab_channel=Unity
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Навигация на динамическом обекте.

Сообщение waruiyume 05 фев 2023, 13:12

Крутая штука!
Но предложенный мной костыль похоже всё равно придётся использовать. Работать оно работает, но на больших расстояниях, ему сильно плохеет.
https://youtu.be/PqK3k9-xUJc
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Навигация на динамическом обекте.

Сообщение vitalik77 05 фев 2023, 15:48

Alkos26Rus писал(а):Это можно и с помощью NavMeshComponents сделать
Вон еще в 17 году юнити выкатили такую возможность, смотреть после 8 минуты https://www.youtube.com/watch?v=n-RXnDGE72M&ab_channel=Unity

Круто. Что это и как называется? Как делать и что искать?
vitalik77
UNIверсал
 
Сообщения: 434
Зарегистрирован: 06 май 2021, 09:56

Re: Навигация на динамическом обекте.

Сообщение waruiyume 05 фев 2023, 16:18

Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Навигация на динамическом обекте.

Сообщение vitalik77 05 фев 2023, 16:45

waruiyume писал(а):https://docs.unity3d.com/Manual/NavMesh-BuildingComponents.html

Да это я все читал. Я сути уловить не могу. Типа они берут Navmeshsurface и запекают его на не статичный объект, а потом двигают или что?
vitalik77
UNIверсал
 
Сообщения: 434
Зарегистрирован: 06 май 2021, 09:56

Re: Навигация на динамическом обекте.

Сообщение waruiyume 05 фев 2023, 16:55

Это, по сути, тот же навмеш, только его можно генерировать в плеймоде, он может быль запечён для любой плоскости, а не только xz и он привязан к объекту на сцене, а не к самой сцене.
Судя по тому, что написано здесь, в FAQ https://github.com/Unity-Technologies/NavMeshComponents
агенты на движущихся платформах работать не будут, верне будут, но через жопу.
На видосе, который я записал, навмеш запечён через эту систему на объект, который крутится. Как видно, агенты работают нормально только если платформа не двигается. Т.е. либо придётся отказаться от агентов и двигать объекты кодом, по просчитанному пути, либо использовать предложенный ранее костыль.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Навигация на динамическом обекте.

Сообщение vitalik77 05 фев 2023, 17:41

waruiyume писал(а):Это, по сути, тот же навмеш, только его можно генерировать в плеймоде, он может быль запечён для любой плоскости, а не только xz и он привязан к объекту на сцене, а не к самой сцене.
Судя по тому, что написано здесь, в FAQ https://github.com/Unity-Technologies/NavMeshComponents
агенты на движущихся платформах работать не будут, верне будут, но через жопу.
На видосе, который я записал, навмеш запечён через эту систему на объект, который крутится. Как видно, агенты работают нормально только если платформа не двигается. Т.е. либо придётся отказаться от агентов и двигать объекты кодом, по просчитанному пути, либо использовать предложенный ранее костыль.


Все получилось, всем спасибо. Мне подходит такой вариант. В основном он мне нужен для напарников которые следуют за героем. У меня когда корабль плывет, то герой за управлением и не видит агентов. Единственное что агенты немного крутятся когда стоят.
vitalik77
UNIверсал
 
Сообщения: 434
Зарегистрирован: 06 май 2021, 09:56

Re: Навигация на динамическом обекте.

Сообщение vitalik77 08 фев 2023, 09:43

PS:
Кто будет пользоваться NavMeshSurface, помните что он очень сильно нагружает процессор.
У меня из стабильных 35 фпс стало 15-20. Это при том что обект с этой подвижной сеткой не перемещался. Посмотрел в профайлер, а движок постоянно пересчитывает этот навмеш. Пока что решил простым отключение пола к которому он прицеплен.
vitalik77
UNIверсал
 
Сообщения: 434
Зарегистрирован: 06 май 2021, 09:56

Re: Навигация на динамическом обекте.

Сообщение Alkos26Rus 08 фев 2023, 13:48

waruiyume писал(а):Крутая штука!
Но предложенный мной костыль похоже всё равно придётся использовать. Работать оно работает, но на больших расстояниях, ему сильно плохеет.
https://youtu.be/PqK3k9-xUJc

Может сам агент тупит, может без агента вобще чисто рассчитывать путь и следовать по нему.
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва


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

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

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