Суббота, 12 Октября 2024, 22:44

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Расстояние до объекта. Как вычислить что лучше.
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.
Но если врагов не сотни одновременно, скорее даже тысячи, то все равно.

  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг