Низнаю, может кому и пригодиться эта информация
(Q - вопрос, A - ответ)Q: Так - что-же такое mins/maxs в
goldsource ?
A: Это значения соответствующие занимаемому игровому пространству
Q: В каких случаях применяются
(используются/запрашиваются) ?
A:
- 1)В случаях когда предмет не имеет координат, примером может служить любая энтитя создаваемая маппером - форма полностью зависит от манипуляций маппера (коробка, стекло, зона покупки(в кс), дверь ... и т.д.)
- 2)Размерности можно применять для определения возможности прохождения препядствия к примеру. Далеко ходить не надо - игрок имеет как минимум 2 размерности 1я когда стоит 2я когда сидит (встав на игрока можно заметить изменение его размерностей, возможно есть и промежуточно-выставляемые размерности - хз)
- 3)Размерности нужно применять при создании ранее упомянутых энтитей (различных зон и ограждений ...). Эффект взаимодействия с предметом имеющим плотность - зависит от выставленой твердости (SOLID...).
Особое внимание хочется уделить размерностям моделек. Иногда создаваемая моделька должна блокировать проход или эмитировать препядствие
(Примерами подобных плагинов могут быть: Box Creator или QuakeIII Portals). Для понимания ситуации по конкретной модельке - нужно открыть ее в редакторе
(естественно у каждой модельки уникальный случай) и включить подсветку костей
(нужен ориджин модельки - ее центр). Вот тут начинается самое интересное
Просчет плотности "на глаз", затем тестирование и правка значений.
Для понимания плотности и ее центра желательно нарисовать систему координат X/Y размером пусть 10х10 . На графике нарисовать предмет любой сложности
(но лучше нечто не сложное, к примеру параллелипипед).
Mins - координаты точки имеющей самые малые координаты
(зависит от рисунка - но скорее всего отрицательные), по X и Y
(Z - ось игнорим, правило работающие на 2-мерном графике - работает и в 3х мерном пространстве ). С точностью и наоборот определяем X / Y Maxs . В итоге у нас 2 точки на системе координат, складываем координаты X
(Mins) + X
(Maxs), соответственно складываем координаты по Y, затем домножаем получившиеся координаты
(результаты предыдущих операций сложения) X / Y
(отдельно естественно) на 0.5 . Результат - есть ориджин энтити не имеющей координат "как таковых". Если нарисовали все правильно - новая точка будет ровно в центре между Mins / Maxs точками.
Вернемся к моделькам
Смотрим на ориджин модельки
(к примеру моделька из плагина создающего коробки) от центра до нижнего предела есть немного пространства - это пространство является отрицательным
Z ось
(по-скольку ниже центра, центр - точка отсчета "нашей мнимой 2х мерной системы координат"). Все что выше - уже Maxs
(Z - ось), так же определяем X / Y влево вправо от центра.
ВНИМАНИЕ!При изменении координат предмета имеющего плотность - плотность НЕ изменяется.
НО! Если повернуть предмет
(имеющего не равностороннюю структуру, к примеру лавку имеющую прямоугольную форму) - Размерности отсанутся прежними - а сама моделька естественно повернется - что создаст баг проходимости в пространстве
(моделька станет проходимой где НЕ надо, а где ее быть не должно - будет препядствие). Решением является либо формула просчета угла поворота, либо задать определенный шаг поворота к примеру по оси Y
(как в плагине QuakeIII Portals , с шагом 22.5% - соответственно этому шагу вшиты константные размерности)PS Размерность можно выставлять только под прямым углом, чтобы понять как это - зажмите левую кнопку мыши на рабочем столе и поводите - будут создаваться рамки имеющие теже прямые углы - это пожалуй главный минус размерностей задаваемых посредством вмешательства кодингом