![]() |
Модераторы: Rickert |
![]() ![]() ![]() |
|
ILyAHA |
|
|||
![]() Гламурный хакер ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 30.3.2007 Где: Ярославская обл. г.Рыбинск Репутация: нет Всего: 3 |
Приветствую!
Собственно сабж: Многие понимают, что проблема Collision Detection достаточно сложная(ресурсоемкая). В некотором проекте используется 3D моделирование, в котором моделируется поведение объктов. В нем потребовалось реализовать некоторую мини-физику(т.е. падение тел на поверхности). Для представления 3D мира используется графический движок Axiom. В нем для определения столкновений есть только AABB. Но у AABB есть существенный недостаток - нельзя точно определить, столкнулись ли объкты, ибо AABB это прямоугольный параллелепипед. Более точно можно определить столкновение с помощью проверки на пересечение полигонов модели. На движке Axiom я написал приложение, в котором определяется коллизия 2х объектов. Сначала проверяется для каждого из объектов коллизия на AABB. после чего, уже определяется пересечение их полигонов. На проверку пересечения полигонов объектов из 1300 треугольников и 130 треугольников соответственно, уходит порядка 1й секунды на 4х ядерном AMD. Это не приемлимо. Суть вопроса состоит в том, какие методы можно применить для более быстрого определения столкновений? --------------------
<sсriрt>alert('xss')</sсriрt> |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 7 Всего: 232 |
В директиксе есть более-менее оптимизированный коллижн детекшн на уровне "определить где луч пересекается с мешем", в виде ф-ции D3DXIntersect.
Ещё более оптимизировано всё в физических движках, можно погуглить по слову trimesh collision. -------------------- ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |