Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2009.04.05;
Скачать: [xml.tar.bz2];

Вниз

Столкновение с mesh-объектом   Найти похожие ветки 

 
ElectriC ©   (2007-04-27 14:37) [0]

Как правильно прописать столкновение с mesh-объектом, т.б. чтобы
камера не проходила сквозь mesh-объект, если у меня имеется сам
mesh-объект(небольшой дом, в котором есть две комнаты), который находится в .x файле?
P.S. Если можно, то с подробным описание как, куда, чего и т.д., а лучше ввиде исходного текста!


 
МистерТ   (2007-04-28 07:35) [1]

google -> collusion detected -> read it -> learn -> write -> be happi


 
ElectriC ©   (2007-04-28 12:26) [2]

н-да:|


 
Sapersky   (2007-04-28 13:43) [3]

А ты всё ждёшь, что на блюдечке с г.к. поднесут?
Давал же я список книг. Не верю, что ни в одной из них данная тема не затрагивается.
Кстати, правильно пишется - collision detection.
Наводка - см. пример Pick из SDK. Там проверяется попадание мыши в треугольник, при этом можно получить расстояние до треугольника. Ничто не мешает (даже проще) использовать вектор камеры вместо "вектора мыши". Хотя с т.з. оптимизации лучше проверять сначала попадание камеры в bounding box (AABB) этого дома.
Если рассчитывать на наличие бОльшего количества комнат в доме/домов, то лучше применять (как и в "больших" играх) методы разбиения пространства - порталы (portal), bsp-деревья (bsp-tree).
Но основная рекомендация по-прежнему - RTFM, хотя бы для того, чтобы понимать все эти "страшные слова".


 
ElectriC ©   (2007-04-29 02:11) [4]

Подсказали хотя б sample где всё это написано!


 
Ketmar ©   (2007-04-29 02:18) [5]

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


 
ElectriC ©   (2007-04-29 03:06) [6]


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

Оч смешно(((


 
Ketmar ©   (2007-04-29 04:35) [7]

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

нет. печально.


 
МистерТ   (2007-04-29 14:12) [8]

> Кстати, правильно пишется - collision detection.
Спасибо.


 
Morpheuz   (2007-04-30 03:32) [9]

Да, ребята, вижу, любите Вы помогать:) а вот рекламировать  Интернет-поисковики не надо, все и так знаю, что там можно поискать… и них*ра не найти.
ЗЫ:к сожалению автору ничем помочь не могу)))


 
Jkot ©   (2007-04-30 04:40) [10]

А что Newton никому не подуше? Конечно изврашение использовать его только для опр. коллизий, но можно же ещё чё-нить прикрутить....


 
ElectriC ©   (2007-05-01 01:58) [11]


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

Во-во


 
Sapersky   (2007-05-01 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   (2007-05-06 17:05) [13]

gamedev! Там есть статья про столкновение сферы с полигонами сцены...



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2009.04.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.014 c
1-1209384948
GreyWolf
2008-04-28 16:15
2009.04.05
Отладка такой ситуации


15-1233832544
Юрий
2009-02-05 14:15
2009.04.05
С днем рождения ! 5 февраля 2009 четверг


6-1201972877
..::KraN::..
2008-02-02 20:21
2009.04.05
Documents and Settings - доступ по FTP закрыт...


4-1207825025
Виталий
2008-04-10 14:57
2009.04.05
Узнать хендлы открытых процессом файлов


2-1234427731
Mishenka
2009-02-12 11:35
2009.04.05
Как отменить автоматическое сохранение в DBRichEdit ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский