Вот моя проблема. Я создаю игру, и мне интересно, как это делать. У меня есть несколько примеров для анализа и поиска лучшего решения.Столкновения в реальном мире
Я скажу это заранее, я не пользуюсь какой-либо третьей библиотекой физики, но я собираюсь сделать это в доме. (Как это образовательный проект, у меня нет расписания, и я хочу узнать)
У меня есть 2 типа сетки, для которых я должен сделать соударений:
1) Статические Сетки (т.е. перемещаться по экрану, но не имеет какую-либо анимации)
2) кожура/Boned Сетка (анимированный)
на самом деле у меня есть это решение (вполне Hacky: |)
Прежде всего у меня есть испытание на некоторый ограничивающий объем, который охватывает полный m esh (капсула в моем случае), после:
1) Для статических сеток я делю их вручную в блоках (на моделере), и для каждого из этих блоков я использую тест сферы/AABB. (работает отлично, но его немного грязно, чтобы срезать каждую сетку: P) (я попробовал автоматическую систему, чтобы разделить сетку через плоскости, но это дает плохие результаты :()
2) Для анимированной сетки ATM i ' m разделение сетки во время выполнения на x блоков (где x - количество костей). Каждый блок содержит вершину, для которой эта кость является основным фактором. (Иногда работает, иногда дает очень плохие результаты: |.)
Пожалуйста, обратите внимание, что разрыв сетки выполняется во время загрузки, а не каждый раз (в противном случае она будет работать как слайд-шоу: D)
И вот вопрос:
Какая самая разумная идея использовать для этих двух корпусов? Любой материал для меня, чтобы изучить эти методы? (с некоторыми исходными кодами и пояснениями будет еще лучше (язык не важен, когда я понимаю алгоритм, реализация проста)) Можете ли вы аргументировать, почему это решение лучше других? Я слышал много разговоров о kd-tree, octree и т. Д., Тогда как я понимаю их структуру, я пропускаю их полезность в сценарии обнаружения столкновений.
Большое спасибо за ответы !!!
EDIT: Попытка найти пример K-Dop с некоторым объяснением в сети. Все еще ничего не нашли. :(Любые подсказки? Меня интересует, КАК K-Dop может быть эффективно протестирован с другими типами ограничивающих объемов и т. Д. ... но документация в сети кажется крайне недостаточной. :(
Хороший ответ. Много вещей, чтобы посмотреть. Завтра я дам хороший поиск и некоторую работу по их реализации и сообщаю об этом в этой статье. На данный момент +1 !!! Спасибо – feal87
Я ищу все сети, но до сих пор не нашел ОДИН рабочий пример с объяснениями K-Dop. Существует только много теоретических статей (оплата за просмотр). : | Любые подсказки? :( – feal87
D-Collide представляет собой библиотеку столкновений с открытым исходным кодом, которая реализует kDop, поэтому это может стоить взглянуть на пример реализации. http://d-collide.ematia.de/ Этот gamedev.net потоки охватывают множество деталей реализации: http://www.gamedev.net/community/forums/topic.asp?topic_id=430895&whichpage=1 – DarthCoder