Расстояние до объекта. Как вычислить что лучше.
|
|
Mofrez | Дата: Вторник, 21 Сентября 2021, 19:34 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Хочу чтобы мобы c компонентом Navmeshagent наносили урон игроку когда подойдут близку. Знаю поверхностно про Vector3.Distance, Physics.CheckSphere и триггеры. Что лучше применять для лучшей оптимизации? remainingDistance не подходит в моем случае
|
|
| |
Core | Дата: Вторник, 21 Сентября 2021, 22:38 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| Mofrez, Я в Unity не силен, но могу сказать, что просчет луча будет более оптимизирован, чем просчет целой сферы и постоянной проверки нахождения объекта внутри радиуса сферы. Но стоит заметить, что в случае если тебе нужно проверить дистанцию реально большого коль-ва объектов относительно точки, лучше все-таки использовать Physics.CheckSphere так-как одна сфера будет лучше чем 100500 лучей.
Ps Но это не точно. Мыслю чисто по логике. Возможно, что в Unity есть какие-то свои нюансы, и я их не знаю)
|
|
| |
GameDev2 | Дата: Среда, 22 Сентября 2021, 22:42 | Сообщение # 3 |
почетный гость
Сейчас нет на сайте
| Вот он современный подход, уже нет простого расчёта координат. Игра 3D?
|
|
| |
Spring | Дата: Четверг, 23 Сентября 2021, 09:19 | Сообщение # 4 |
частый гость
Сейчас нет на сайте
| Physics.CheckSphere не знаю, триггеры тоже самое. Vector3.Distance не рекомендую, не оптимизирован. Более оптимизированный способ это Vector3.sqrMagnitude(учитывайте что расстояние будет в квадрате) или создать собственное вычисление.
|
|
| |
drcrack | Дата: Четверг, 23 Сентября 2021, 18:24 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| Vector3.Distance подойдет для большинства случаев. Не надо ничего "оптимизировать" через sqrMagnitude пока профайлинг не покажет что узкое место действительно в вычислении расстояния.
Сообщение отредактировал drcrack - Четверг, 23 Сентября 2021, 18:28 |
|
| |
Burnout | Дата: Суббота, 25 Сентября 2021, 20:27 | Сообщение # 6 |
был не раз
Сейчас нет на сайте
| Цитата drcrack ( ) Vector3.Distance подойдет для большинства случаев. Не надо ничего "оптимизировать" через sqrMagnitude пока профайлинг не покажет что узкое место действительно в вычислении расстояния. Скорее всего да. Но никто не мешает где нибудь в конструкторе возвести дистанцию до удара в квадрат и сравнивать ее с sqrMagnitude. Но если врагов не сотни одновременно, скорее даже тысячи, то все равно.
|
|
| |