PMG

Форумы по созданию игр
Текущее время: 24 апр 2024 07:21

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




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Столкновения...
СообщениеДобавлено: 19 янв 2006 00:49 
Не в сети
Постоянный
Аватара пользователя

Зарегистрирован: 02 сен 2005 22:34
Сообщения: 98
Откуда: Питер
Народ дайте одрисок статей где можно прочитать про то как просчитывать столкновения, пересечения... желательно на руском


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 19 янв 2006 15:46 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
NeHe - Урок 30. Определение столкновений и моделирование законов физики.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 янв 2006 21:08 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 11 дек 2004 22:33
Сообщения: 112
Откуда: Ханты-Мансийск
Да, как проверять пересечения бесформенных объектов. Может просто в Box ограничивающий их брать, но это не совсем реалистично. А что делать если очень много таких объектов ? Их надо все перебирать, например статику такую как стены или какие нибудь brush"ы или можно как-то сортировать???

_________________
С уважением, Владислав


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 янв 2006 10:18 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
У бесформенных объектов вначале берется выпуклая оболочка, проверяется по ней. При этом все пространство каким-то образом разбивается и в пределах одного куска разбитого пространства и происходит проверка пересечений оболочек объектов. Затем можно детализировать до нужного уровня, вплоть до поиска геометрии пересечения.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 08 мар 2006 00:35 
Не в сети
Новичок

Зарегистрирован: 19 фев 2006 14:58
Сообщения: 8
Откуда: Из города
Я вообще сначала думал, что все обьекты в сцене задаются матрицей. И если кетка не равна 0 - идти туда нельзя. Примитивно, но работает...

_________________
Все мы когда-то будем на последнем уровне Doom-а...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 мар 2006 09:47 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Ну это блочное деление. Оно конечно работает. Просто размер блока может быть разный. И размер объекта может быть больше или меньше размера блока. Т.е. несколько объектов могут занимать один и тот же блок или один объект несколько блоков. Вообще и блоки могут быть разных размеров.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 май 2006 22:35 
Не в сети
Новичок

Зарегистрирован: 22 май 2006 22:29
Сообщения: 3
Откуда: Москва
С окружностями понятно.
Но как будут разлетаться два тела, если они оба выпуклые полигоны?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 май 2006 10:12 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Не думаю что это элементарная проблема. Так как требуется точный просчет геометрии. Скорее всего надо искать книгу по этому поводу. И вообще это еще надо подумать - хватит ли на это вычислительных мощностей, если например сталкиваются два тела и в каждом по 10000 граней!!! ;/

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 май 2006 16:35 
Не в сети
Новичок

Зарегистрирован: 22 май 2006 22:29
Сообщения: 3
Откуда: Москва
А какже тогда устроены физические движки, скажем Tokomak, они же как-то просчитывают куда разлетятся кубы при столкновении?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 май 2006 18:13 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Это не простой вопрос. Для ответа на него нужно прочитать не одну книгу, на форуме этого не объяснить.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 май 2006 19:04 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 11 авг 2004 17:00
Сообщения: 283
Откуда: Москва
Один из простейших методов - разделение сложных объектов на части. Например, если кто-то стреляет в человека то первым приближением будет попадание в общую ограничивающую сферу. Затем проверяем отдельные фрагменты - голова, руки, ноги, туловище, также по ограничивающим сферам. А уже затем проверяем ту часть в которую вроде-бы попали по полигонам.

Конечно же точность можно менять. Не всегда нужна точность до полигона. Кроме того, можно менять ограничивающие объемы, например для рук и ног ограничивающая сфера не слишком подходит - слишком много в ней пустого места. Можно использовать ограничивающий параллелепипед.

Точно так же и при столкновении - сокращаем объем вычислений. Сначала определяем какие два объекта столкнулись, затем делим их на части и определяем какие именно части столкнулись, затем уже проводим вычисления только для столкнувшихся частей. Для особо сложных объектов может быть несколько делений на части, а не одно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 май 2006 19:10 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 11 авг 2004 17:00
Сообщения: 283
Откуда: Москва
Столкновение объектов без разрушения и деформации обычно рассчитывается просто как столкновение двух точек. То есть есть векторы скорости до столкновения, потом столкновение, потом объекты разлетаются как бильярдные шары.
Если столкновение сопровождается деформацией объектов или разрушением, то рачеты более сложные и в форуме об этом не расскажешь (слишком много места надо)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 май 2006 20:43 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 11 дек 2004 22:33
Сообщения: 112
Откуда: Ханты-Мансийск
Хочу сказать в книге 'DirectX Продвинутая анимация' есть глава про Rangdoll анимацию где рассказывается о ручном расчете физики. Модель человека можно разделить 14 boxes и там используют пружины для скрепления этих ограничивающих коробок

_________________
С уважением, Владислав


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

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


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

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


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB