GTA Builder Форум

GTA Vice City => Идеи => Тема начата: Prographer от Апрель 15, 2015, 11:40:49 am

Название: Динамические двери
Отправлено: Prographer от Апрель 15, 2015, 11:40:49 am
Всем привет. Появилась тут идея сделать динамические двери, то есть, практически такие же, как в San Andreas. Идея такова: создаём модель двери, прописываем её параметры в файле object.dat чтобы предать динамику, ставим дверь на карту с помощью Cleo-скрипта предварительно получив её handle. В самом же скрипте обозначаем две оси вращения (Y и Z) в разделе констант, что не даст им изменяться. Как-то так. Как считаете, прокатит ли такой разврат?
Название: Re: Динамические двери
Отправлено: Shagg_E от Апрель 15, 2015, 08:40:43 pm
Сомневаюсь, т.к. пытался делать подобным образом "физику" кустов(чтобы их можно было приминать к земле, но не сдвигать). Т.е. там я пытался скриптом постоянно "удерживать" координаты кустов на месте, при этом позволяя им вращаться по осям. В результате спустя секунду-две после, казалось бы, успешного теста куст начинал сначала дрожать, потом двигаться и вытворять подобные "неадекватные" вещи
Название: Re: Динамические двери
Отправлено: xanser от Апрель 17, 2015, 12:00:03 pm
Можно попробовать сделать двери без скрипта, а через коллизию, смоделить какие-то петли и вставить в дверной проем, чтобы одна модель удерживала вторую, саму дверь прописать в object.dat по типу какого-нибудь легкого ящика, который можно двигать. Правда не знаю, как поведут себя эти коллизии, возможно одна будет всячески пытаться вырваться из второй.
По кустам я бы сделал по аналогии с деревьями во время ветра, там искажается "куб" дерева, не двигая основание.
Название: Re: Динамические двери
Отправлено: Shagg_E от Апрель 17, 2015, 10:41:23 pm
Можно попробовать сделать двери без скрипта, а через коллизию, смоделить какие-то петли и вставить в дверной проем, чтобы одна модель удерживала вторую, саму дверь прописать в object.dat по типу какого-нибудь легкого ящика, который можно двигать. Правда не знаю, как поведут себя эти коллизии, возможно одна будет всячески пытаться вырваться из второй.
Будет то же самое - всяческие глюки вроде дрожащий и в конце концов "выпрыгивающих" дверей. Физика вайса, увы, не того уровня. Вообще - физики такого уровня нет даже в современных играх, так что чаще всего двери имеют программное "крепление", как в SA.

По кустам я бы сделал по аналогии с деревьями во время ветра, там искажается "куб" дерева, не двигая основание.
С кустами я разобрался - сделал им физику "ваньки-встаньки", а центр тяжести поместил в основание куста. Прост всё равно иногда куст "уползает" со своего места
Название: Re: Динамические двери
Отправлено: xanser от Май 25, 2015, 08:06:46 pm
Возможно все неадекватности связаны вот с чем. При попытке принудительно поменять положение объекта физика игры пытается отреагировать на его перемещение по какому-то свому алгоритму. Например я долго не мог понять, почему элементарный телепорт машины приводит к ее отпружиниванию и кувырканию. Оказалось дело в таких параметрах как изменение вектора скорости 0x70 и вектора угловой скорости 0x7C в структуре CPhysical. Если их обнулять вместе с изменением угла и перемещением, то объект удается утихомирить и спокойно его крутить-вертеть. Проверено только на машинах.