Конференция "Игры" » Столкновение с mesh-объектом [Delphi, DirectX]
 
  • ElectriC © (27.04.07 14:37) [0]
    Как правильно прописать столкновение с mesh-объектом, т.б. чтобы
    камера не проходила сквозь mesh-объект, если у меня имеется сам
    mesh-объект(небольшой дом, в котором есть две комнаты), который находится в .x файле?
    P.S. Если можно, то с подробным описание как, куда, чего и т.д., а лучше ввиде исходного текста!
  • МистерТ (28.04.07 07:35) [1]
    google -> collusion detected -> read it -> learn -> write -> be happi
  • ElectriC © (28.04.07 12:26) [2]
    н-да:|
  • Sapersky (28.04.07 13:43) [3]
    А ты всё ждёшь, что на блюдечке с г.к. поднесут?
    Давал же я список книг. Не верю, что ни в одной из них данная тема не затрагивается.
    Кстати, правильно пишется - collision detection.
    Наводка - см. пример Pick из SDK. Там проверяется попадание мыши в треугольник, при этом можно получить расстояние до треугольника. Ничто не мешает (даже проще) использовать вектор камеры вместо "вектора мыши". Хотя с т.з. оптимизации лучше проверять сначала попадание камеры в bounding box (AABB) этого дома.
    Если рассчитывать на наличие бОльшего количества комнат в доме/домов, то лучше применять (как и в "больших" играх) методы разбиения пространства - порталы (portal), bsp-деревья (bsp-tree).
    Но основная рекомендация по-прежнему - RTFM, хотя бы для того, чтобы понимать все эти "страшные слова".
  • ElectriC © (29.04.07 02:11) [4]
    Подсказали хотя б sample где всё это написано!
  • Ketmar © (29.04.07 02:18) [5]
    гугль злой провайдер закрыл, да?
  • ElectriC © (29.04.07 03:06) [6]

    > гугль злой провайдер закрыл, да?

    Оч смешно(((
  • Ketmar © (29.04.07 04:35) [7]
    > ElectriC © (29.04.07 03:06) [6]
    > Оч смешно(((

    нет. печально.
  • МистерТ (29.04.07 14:12) [8]
    > Кстати, правильно пишется - collision detection.
    Спасибо.
  • Morpheuz (30.04.07 03:32) [9]
    Да, ребята, вижу, любите Вы помогать:) а вот рекламировать  Интернет-поисковики не надо, все и так знаю, что там можно поискать… и них*ра не найти.
    ЗЫ:к сожалению автору ничем помочь не могу)))
  • Jkot © (30.04.07 04:40) [10]
    А что Newton никому не подуше? Конечно изврашение использовать его только для опр. коллизий, но можно же ещё чё-нить прикрутить....
  • ElectriC © (01.05.07 01:58) [11]

    > и них*ра не найти.

    Во-во
  • Sapersky (01.05.07 05:06) [12]
    Подсказали хотя б 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 есть статьи.
  • VolanD666 (06.05.07 17:05) [13]
    gamedev! Там есть статья про столкновение сферы с полигонами сцены...
 
Конференция "Игры" » Столкновение с mesh-объектом [Delphi, DirectX]
Есть новые Нет новых   [134430   +43][b:0][p:0]