Радиус объектов -
MIASO - 03.01.2016
Доброго времени суток. Подскажите, как можно узнать радиус объекта?
Re: Радиус объектов -
prineside - 03.01.2016
Если необходимо программно узнать радиус модели:
- Разобрать файлы .col, которые можно найти в папках models и SA-MP каталога установки GTA San Andreas, составить массив модель => радиус и брать значения из него
- Инклуд размеров моделей:
t570966
- Также можно использовать плагин Colandreas, сделать рейкаст с нужной стороны модели (до которой нужно узнать радиус) и вычесть из вектора удара координаты объекта (а там просто длину вектора узнать, и будет радиус). Это, кстати, самый точный вариант
Сразу замечу, что первых 2 варианта возвращают приблизительные значения, так как модели зачастую не имеют форму идеальной сферы, а с моделями SA-MP так вообще возвращают неправильные значения (много моделей, которые добавлены в SA-MP, имеют неправильные borderBox'ы и радиус в .col-файлах, которые не соответствуют радиусу мешей колизии)
Узнать радиус модели транспортного средства можно с помощью стандартной функции
GetVehicleModelInfo
Если вам нужно вручную узнать радиус для нескольких объектов, можете поискать на сайтах с каталогами объектов.
В целом, самый простой способ - инклуд размеров моделей (пункт 2)
Re: Радиус объектов -
MIASO - 03.01.2016
Спасибо
Re: Радиус объектов -
Mutha_X - 04.01.2016
Quote:
Originally Posted by prineside
Если необходимо программно узнать радиус модели:
- Также можно использовать плагин Colandreas, сделать рейкаст с нужной стороны модели (до которой нужно узнать радиус) и вычесть из вектора удара координаты объекта (а там просто длину вектора узнать, и будет радиус). Это, кстати, самый точный вариант
|
На столько точный, что у некоторых объектов вообще нет коллизии или она очень "примерная", хотя это отчасти нивелируется конкретными требованиями (тс просит только радиус).
Кстати, рейкастить в данном случае не рекомендуется в общем случае: есть модели в которые можно "рейкастнуть" хоть и в ограничивающую сферу, но не обязательно луч при этом попадёт в саму модель (например стрельнуть в дырку пончика xD ).
Re: Радиус объектов -
prineside - 05.01.2016
Quote:
Originally Posted by Mutha_X
На столько точный, что у некоторых объектов вообще нет коллизии или она очень "примерная", хотя это отчасти нивелируется конкретными требованиями (тс просит только радиус).
Кстати, рейкастить в данном случае не рекомендуется в общем случае: есть модели в которые можно "рейкастнуть" хоть и в ограничивающую сферу, но не обязательно луч при этом попадёт в саму модель (например стрельнуть в дырку пончика xD ).
|
Тем не менее, в общем случае, это все-таки точнее, чем радиус. Что касается моделей без колизии и пончиков - если рейкаст уперся в никуда, как fallback использовать инклуд с радиусом.
Пару месяцев назад я делал скрины всех моделей GTA и SA-MP для сайта. Что касается радиуса стандартных моделей GTA - там проблем нет, у всех моделей радиус ровно от центра до самой дальней вершины, мне даже было приятно смотреть, как скрипт рождает вагоны ровных снимков. Но когда очередь дошла до SA-MP, я вспомнил много плохих слов и людей, которые делали эти модели. Как я писал выше, ни бордер-боксы, ни радиусы по крайней мере на трети моделей явно не совпадают с мешем - значения никуда не годятся. Некоторые модели пришлось снимать вручную.
Так как в SA-MP объекты более интересные, чем в самой GTA, их и используют, по идее, чаще. Учитывая кривизну данных о радиусе моделей, я бы не стал рассчитывать на один только инклуд
Re: Радиус объектов -
Mutha_X - 05.01.2016
Quote:
Originally Posted by prineside
Пару месяцев назад я делал скрины всех моделей GTA и SA-MP для сайта. Что касается радиуса стандартных моделей GTA - там проблем нет, у всех моделей радиус ровно от центра до самой дальней вершины, мне даже было приятно смотреть, как скрипт рождает вагоны ровных снимков.
|
Если уж корректно, то надо брать не дальнюю вершину от центра, а две самые удалённые друг от друга вершины в модели, а камеру ориентировать относительно середины этих двух точек. Хотя так, как помню, такая корректировка на подавляющем большинстве объектов не критична.
Re: Радиус объектов -
MIASO - 06.01.2016
Вообще требуется программно узнать радиус всех моделей одной из адаптаций.
Re: Радиус объектов -
prineside - 06.01.2016
Quote:
Originally Posted by MIASO
Вообще требуется программно узнать радиус всех моделей одной из адаптаций.
|
Адаптаций? Это что?
Re: Радиус объектов -
ZiGGi - 06.01.2016
Quote:
Originally Posted by prineside
Адаптаций? Это что?
|
Он имел ввиду для глобальной модификации:
https://sampforum.blast.hk/showthread.php?tid=155070