![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Столкновение с mesh-объектом [Delphi, DirectX]
ElectriC © (2007-04-27 14:37:00)Как правильно прописать столкновение с mesh-объектом, т.б. чтобы
камера не проходила сквозь mesh-объект, если у меня имеется сам
mesh-объект(небольшой дом, в котором есть две комнаты), который находится в .x файле?
P.S. Если можно, то с подробным описание как, куда, чего и т.д., а лучше ввиде исходного текста!
VolanD666 (2007-05-06 17:05:00) [1]gamedev! Там есть статья про столкновение сферы с полигонами сцены...
Sapersky (2007-05-01 05:06:00) [2]Подсказали хотя б sample где всё это написано!
Подсказали: Pick. DX SDK 8,9.
Там, в общем, даже геометрии никакой знать не надо - просто использовать функцию D3DXIntersect.
Для оптимизации с AABB: D3DXComputeBoundingBox, D3DXBoxBoundProbe.
Или можно не тыкать лучом в предметы, а обвести вокруг камеры условный box (лучше sphere) и проверять как столкновение объект-объект.
рекламировать Интернет-поисковики не надо, все и так знаю, что там можно поискать… и них*ра не найти.
http://www.google.com/search?hl=ru&client=opera&rls=ru&hs=l6y&q=collision+detection+%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0+%D1%81%D1%82%D0%BE%D0%BB%D0%BA%D0%BD%D0%BE%D0%B2%D0%B5%D0%BD%D0%B8%D0%B9+Delphi+DirectX&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=
3-я ссылка - описание аналога Pick из SDK.
Если пройти по 2-й, можно найти Collision Detection FAQ и много другого полезного. Ну и на самом gamedev.ru есть статьи.
ElectriC (2007-05-01 01:58:00) [3]
> и них*ра не найти.
Во-во
Jkot (2007-04-30 04:40:00) [4]А что Newton никому не подуше? Конечно изврашение использовать его только для опр. коллизий, но можно же ещё чё-нить прикрутить....
Morpheuz (2007-04-30 03:32:00) [5]Да, ребята, вижу, любите Вы помогать:) а вот рекламировать Интернет-поисковики не надо, все и так знаю, что там можно поискать… и них*ра не найти.
ЗЫ:к сожалению автору ничем помочь не могу)))
МистерТ (2007-04-29 14:12:00) [6]> Кстати, правильно пишется - collision detection.
Спасибо.
Ketmar (2007-04-29 04:35:00) [7]> ElectriC © (29.04.07 03:06) [6]
> Оч смешно(((
нет. печально.
ElectriC (2007-04-29 03:06:00) [8]
> гугль злой провайдер закрыл, да?
Оч смешно(((
Ketmar (2007-04-29 02:18:00) [9]гугль злой провайдер закрыл, да?
ElectriC (2007-04-29 02:11:00) [10]Подсказали хотя б sample где всё это написано!
Sapersky (2007-04-28 13:43:00) [11]А ты всё ждёшь, что на блюдечке с г.к. поднесут?
Давал же я список книг. Не верю, что ни в одной из них данная тема не затрагивается.
Кстати, правильно пишется - collision detection.
Наводка - см. пример Pick из SDK. Там проверяется попадание мыши в треугольник, при этом можно получить расстояние до треугольника. Ничто не мешает (даже проще) использовать вектор камеры вместо "вектора мыши". Хотя с т.з. оптимизации лучше проверять сначала попадание камеры в bounding box (AABB) этого дома.
Если рассчитывать на наличие бОльшего количества комнат в доме/домов, то лучше применять (как и в "больших" играх) методы разбиения пространства - порталы (portal), bsp-деревья (bsp-tree).
Но основная рекомендация по-прежнему - RTFM, хотя бы для того, чтобы понимать все эти "страшные слова".
ElectriC (2007-04-28 12:26:00) [12]н-да:|
МистерТ (2007-04-28 07:35:00) [13]google -> collusion detected -> read it -> learn -> write -> be happi