Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 28 мар 2024, 23:43

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Mins / Maxs
СообщениеДобавлено: 07 сен 2012, 23:17 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
Низнаю, может кому и пригодиться эта информация :) (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х мерном пространстве :D ). С точностью и наоборот определяем 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
Размерность можно выставлять только под прямым углом, чтобы понять как это - зажмите левую кнопку мыши на рабочем столе и поводите - будут создаваться рамки имеющие теже прямые углы - это пожалуй главный минус размерностей задаваемых посредством вмешательства кодингом


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB