Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Столкновение с 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо