| Разработка и ромхакинг > Ромхакинг и программирование |
| создание новых игр для смд с нуля |
| << < (2/5) > >> |
| Insane:
Nemesis_c, ни в коем случае. планшет имею. Но только привыкаю к нему. и тихо срисовываю и кое что сам. |
| Segaman:
Народ, разъясните пож., что такое коллизия и как вообще можно проверять столкновеня обьектов? |
| r57shell:
омг, нуб детектед. Коллизия есть пересечение. Обычно пересечение и есть столкновение. Термин коллизия используют в: 1) Играх когда говорят о столкновениях 2) В криптографии когда например говорят о хэшах. 3) В интернете коллизии возникают когда одновременно пытаются в обоих направлениях передать данные... 4) другое... А теперь: "как вообще можно проверять столкновения объектов?" Collision Detection тебе поможет (спасиба кэп) Задача найти пересечение двух объектов сводится к примитивным задачам, типа 1) пересечь прямую с прямой/отрезком 2) пересечь треугольник с прямой/отрезком 3) пересечь треугольник с точкой (ужасно сложно :lol:) 4) пересечь треугольник с треугольником. Используемые при потребности максимальных точностей 5) прямая с окружностью 6) окружность с окружностью 7) окружность с треугольником 8) чего в голову взбредёт. короче другими словами, считаешь какие есть у тебя объекты, а потом уже эти фишки реализовываешь. После чего остаётся заюзать какое-нибудь пространственное дерево, чтобы ускорить нахождение пересечений, и всё. Ито они не всегда нужны. |
| Mr2:
А как быть с 3D объектами? Каждый полигон сканировать на пересечение с чем либо? o_0 |
| r57shell:
нуб 2 детектед. А треугольники бывают только 2D?) А полигон, не объединение треугольников?) Ответ: да сканировать, не все конечно... но именно пересечение с треугольниками. Если конечно у тебя объект из треугольников. "не все конечно" - для этого и есть "пространственное дерево". За такое название не пинать, просто их дофига, BSP, AABB... а как их вместе называют не знаю. Поидее BSP = Binary Space Partitioning - бинарное разделение пространства. Может "деревья разделения пространства"?))) слишком много букаф. Добавлено позже: Вместо "BSP-подобных текник", если очень лень, можно использовать только Bound-Box'ы. |
| Mr2:
--- Цитата: r57shell от 03 Апрель 2011, 01:01:05 ---Ответ: да сканировать, не все конечно... --- Конец цитаты --- А какие сканировать. Допустим катится у меня шарик и надо зафиксировать столкновение со стеной?Придётся сканировать все полигоны шарика? o_0 |
| r57shell:
Ну вопервых раз у тебя шарик, то умные люди сразу проверяют пересечение шарика с чем-то. А так, да... если у тебя отвёртка катится, то какие-то её треугольники проверять... Яже вроде уже писал. фигли снова спрашивать. Если не укладывается в твои представления, то это не означает, что делают не так. Погугли Collision Detection и BSP-tree, AABB. Я не собираюсь подробно описывать то, что уже всеми подробно описано :). Добавлено позже: например: http://ru.wikipedia.org/wiki/%D0%94%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D0%BE%D0%B5_%D1%80%D0%B0%D0%B7%D0%B1%D0%B8%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%B0 http://www.gamedev.ru/articles/?id=30128 |
| Mr2:
--- Цитата: r57shell от 03 Апрель 2011, 12:36:10 ---фигли снова спрашивать. --- Конец цитаты --- Не удержался. :lol: Мне ещё до колизий далеко, я так и непонял как линии рисовать. Там какие то формулы(Алгоритм Брезенхэма) ядрёные.... Рисовать то рисует, а как и почему не понял :-\.Вобщем спасибо за внимание. ;) |
| AjaxVS:
да никто никогда треугольники не сравнивает. это нереально по производительности. сравниваются ограничивающие объемы. обычно рассчитывают прямоугольный параллелепипед, в который помещается вся модель, проверяется пересечение такого кубика со всеми остальными, которые рядом находятся. потом, если надо, проверяется пересечение с другими, более мелкими кубиками, в которые помещаются части моделей (рука, голова, etc). алгоритмы легко ищутся, как подсказал r57shell. --- Цитата ---Там какие то формулы(Алгоритм Брезенхэма) ядрёные --- Конец цитаты --- а ты думал, мы тут пестики в тычинки пихаем? :D копай, учись.. если хочешь. |
| Mr2:
--- Цитата: AjaxVS от 03 Апрель 2011, 18:38:11 ---да никто никогда треугольники не сравнивает. это нереально по производительности. --- Конец цитаты --- То то я и думаю:"Где то тут подвох". :D Пока весь шар просканируешь, стены рухнут. ;) --- Цитата: AjaxVS от 03 Апрель 2011, 18:38:11 ---а ты думал, мы тут пестики в тычинки пихаем? :D копай, учись.. если хочешь. --- Конец цитаты --- Низнаю что вы там втыкаете, я точно не втыкаю. :lol: --- Цитата: AjaxVS от 03 Апрель 2011, 18:38:11 ---копай, учись.. если хочешь. --- Конец цитаты --- "Пилите, пилите Шура - они золотые"... :lol: |
| r57shell:
--- Цитата: AjaxVS от 03 Апрель 2011, 18:38:11 ---да никто никогда треугольники не сравнивает. это нереально по производительности. --- Конец цитаты --- Нуб 3 детектед. Не вешай людям на уши... Примеры: 1) попадание пуль в Counter Strike/Call of Duty .... короче в FPS играх. (заметь, точки от пуль остаются в точном их попадании...) 2) Выделения объектов тоже бывают такими, пример сходу не скажу. 3) В нормальной физике типа Half-Life 2 без этого не обойтись (например гравипушкой когда играешься, предмет может зацепится любой вершиной...) 4) ходьба по поверхностям. в FPS играх. 5) если подумать можно ещё тонны перечислить. Не спорю что бывает прибигают к апроксимации моделей для физики. (строится дополнительный мэш, представляющий упрошенную модель, для физики). На счёт скорости - достигается логарифмичная сложность. На примере логарифм от 1000000 = 20. |
| Mr2:
--- Цитата: r57shell от 03 Апрель 2011, 20:21:06 ---1) попадание пуль в Counter Strike/Call of Duty .... короче в FPS играх. (заметь, точки от пуль остаются в точном их попадании...) --- Конец цитаты --- Ты видел исходники Counter Strike/Call of Duty/Half-Life 2? :? |
| pedro:
--- Цитата: Mr2 от 03 Апрель 2011, 22:00:57 ---Ты видел исходники Counter Strike/Call of Duty/Half-Life 2? :? --- Конец цитаты --- со стима скачать можно-) |
| r57shell:
Mr2, нет. Ещё туда добавь Quake3. |
| evilhell:
--- Цитата: Insane от 30 Март 2011, 01:22:57 ---Nemesis_c, ни в коем случае. планшет имею. Но только привыкаю к нему. и тихо срисовываю и кое что сам. --- Конец цитаты --- девушка напоминает Риноа из FF8 |
| Insane:
evilhell, она и есть |
| r57shell:
--- Цитата: Insane от 03 Апрель 2011, 23:12:41 ---evilhell, она и есть --- Конец цитаты --- И правда, а я и не заметил О_о... Видимо потому, что не фанат, да и проходил давно, да и вообще мне FF9 больше понравился :) |
| serega segas:
ребята оффтоп пошел Добавлено позже: обсуждению риноа это не касается |
| AjaxVS:
--- Цитата ---1) ... точки от пуль остаются в точном их попадании --- Конец цитаты --- пересечение луча с OOBB. вот у меня даже функция есть: --- Цитата ---DWORD CajGamePhys::CheckCrossLine(DWORD wOI, bool isBullet, D3DXVECTOR3 * vRayStart,D3DXVECTOR3 * vRayEnd, D3DXVECTOR3 * vHit = NULL, DWORD iIgnoreET = 0, DWORD iIgnoreWOI = 0, DWORD iStart = 0) { ... } --- Конец цитаты --- угадай, что возвращает вектор vHit. пересечение с треугольниками не используется. --- Цитата ---2) Выделения объектов тоже бывают такими, пример сходу не скажу. --- Конец цитаты --- получение проекции и выборка из дерева. пересечение с треугольниками не используется. --- Цитата ---3) В нормальной физике типа Half-Life 2 без этого не обойтись (например гравипушкой когда играешься, предмет может зацепится любой вершиной...) --- Конец цитаты --- про Half-Life2 ничего не знаю, догадываться не буду. --- Цитата ---4) ходьба по поверхностям. в FPS играх. --- Конец цитаты --- хейтмапы. пересечение с треугольниками не используется. --- Цитата ---Не спорю что бывает прибигают к апроксимации моделей для физики. (строится дополнительный мэш, представляющий упрошенную модель, для физики). --- Конец цитаты --- причем здесь прогрессивные меши? на генератор научных статей похоже, это тут совсем не в тему. пересечение с треугольниками не используется. продолжай троллить нас дальше, дорогой товарищ :) я, правда, в топик заходить больше не буду - мне с вами все ясно. зы. чтобы не быть голословным - пример с ландшафтом: никаких пересечений с треугольниками. |
| Mr2:
--- Цитата: r57shell от 03 Апрель 2011, 22:43:19 ---Mr2, нет. --- Конец цитаты --- :lol: NOOB №1 детектед! Ты слышал какое Г играет биталз? :lol: |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |