|
|
|
Канал Игры Мечты: «Поиск и обработка столкновений» |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Как это реализовано в Х3?
Ведь даже современные крутейшие физические движки не позволяют просчитывать столкновения и взаимодействия двух произвольных не статических геометрий, без использования обволакивания (convex hull).
добавлено спустя 2 минуты:
А в Х3 пожалуйста — можно легко и не принужденно летать на истребителе между элементами какого-нибудь Xenon K
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
Последний раз редактировалось: DIMOSUS.X (01:43 07-04-2013), всего редактировалось 1 раз |
|
|
Kosmonavt
165 EGP
  Рейтинг канала: 1(3) Репутация: 35 Сообщения: 748 Откуда: Дубна Зарегистрирован: 04.07.2003
 |
|
Да ладно, такое много где встречается. Вот например в battlefield 3 есть вертолеты с "дыркой" через которую пролетают пули и ракеты. И не обязательно делать движок умеющий просчитывать невыпуклые геометрические примитивы. Можно ведь с помошью выпуклых создать любой обьект.
_________________ Самая elit-ная игра - жизнь. Первое задание в ней - построить космический корабль. |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Пули и ракеты как таковые не имеют физического тела, да и колизии ищутся не с физическим телом вертолета, а с его BSP.
Составные объекты это конечно один из вариантов выхода, но вопервых это дополнительная нагрузка художникам, а во вторых интересует именно реализация в Х3.
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
У меня пока только одна идея как сделать подобное.
Перво-наперво искать пересечения AABB двух тел. Далее перевести KD-tree одного, в пространство другого и затем перебором искать вхождения AABB самых нижних листьев, без проверки самих треугольников.
Топорно, но для космоса может сгодится.
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
Guest
2075 EGP
              Рейтинг канала: 5(167) Репутация: 376 Сообщения: 27975 Откуда: Моск. Зарегистрирован: 12.10.2004
 |
|
DIMOSUS.X : |
Как это реализовано в Х3?
|
Вангую прокси. С большой долей вероятности - многоуровневые, возможно с доптесселяцией возле игрока.
Первичное обраужение всё равно через боунд-сферу или боунд-бокс. Так быстрее и разгружает обсчёт кадра.
добавлено спустя 15 секунд:
Или тебе конкретно алгоритмы надо?
добавлено спустя 4 минуты:
DIMOSUS.X : |
Пули и ракеты как таковые не имеют физического тела, да и колизии ищутся не с физическим телом вертолета, а с его BSP.
Составные объекты это конечно один из вариантов выхода, но вопервых это дополнительная нагрузка художникам, а во вторых интересует именно реализация в Х3.
|
А. Нет, художникам это не нагрузка.
Составной коллижен-меш - тоже не нагрузка. Плюс он может иметь дыры (хотя в этом случае нельзя считать такой меш односторонним, т.к. луч может столкнуться с ним изнутри).
З.Ы.: специально не занимался, вышесказанное может быть бнёй.
_________________ Трещит земля как пустой орех
Как щепка трещит броня
Последний раз редактировалось: Guest (01:52 08-04-2013), всего редактировалось 3 раз(а) |
|
|
Jurec
348 EGP
   Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006
 |
|
DIMOSUS.X : |
Ведь даже современные крутейшие физические движки не позволяют просчитывать столкновения и взаимодействия двух произвольных не статических геометрий, без использования обволакивания (convex hull).
|
Даже довольно старые плохие физ движки умеют это делать - делают они это через trimesh (Triangle Mesh). Готов поспорить делают через trimesh и в X3.
добавлено спустя 2 минуты:
И да, художникам дополнительная нагрузка - но если на проекте делают lod'ы (а их уж точно нужно делать в играх где объект может удалиться достаточно далеко), то collision trimesh получается нахаляву из менее детального lod'а.
Ну и давно уже есть такая штука как auto-lod - генерация оных автоматом хоть в run-time.
добавлено спустя 6 минут:
DIMOSUS.X : |
не статических геометрий
|
А, стоп. НЕ статических trimesh нет вроде пока что.
Но чет я не пойму - где в Ксеноне К "не статическая геометрия"
_________________ MOV topka, C++
Последний раз редактировалось: Jurec (16:52 09-04-2013), всего редактировалось 2 раз(а) |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Статическая геометрия в понятиях физики — это скажем терейн, который заморожен и не реагирует на приложение к нему каких-либо сил.
добавлено спустя 8 минут:
Не статическая геометрия — имел в виду произвольные наборы треугольников, без обтягивания их convex hull
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
Последний раз редактировалось: DIMOSUS.X (17:59 09-04-2013), всего редактировалось 1 раз |
|
|
Jurec
348 EGP
   Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006
 |
|
DIMOSUS.X : |
Не статическая геометрия — имел в виду произвольные наборы треугольников, без обтягивания их convex hull
|
Тогда trimesh. Если эти треугольники не изменять во времени (ессно, можно трансформацию применять на весь trimesh)
_________________ MOV topka, C++
Последний раз редактировалось: Jurec (16:03 10-04-2013), всего редактировалось 1 раз |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Тогда как два trimesh должны взаимодействовать друг с другом?
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
В Х3 используется что-то гораздо хитрее...
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
Jurec
348 EGP
   Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006
 |
|
Я чего -то не пойму в чем проблема-то? И чего в х3 используется что-то хитрое?
trimesh vs trimesh коллизия просчитывается физдвижком. Не пойму про "как два trimesh должны взаимодействовать друг с другом? "
_________________ MOV topka, C++ |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Jurec : |
trimesh vs trimesh коллизия просчитывается физдвижком.
|
Ссылку в студию
trimesh, как динамическое тело с массой, не может взаимодействовать с другими телами. Точнее может, но тогда даже два таких колизящихся тела полностью убивают процессорное время.
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
Jurec
348 EGP
   Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006
 |
|
Ты неверно меня понял. На примере х3:
Статический trimesh на станции.
Динамический объект на корабле, для просчета быстрых динамических объектов (капсула, например)
если trimesh станции контактирует с капсулой - можно посчитать их пересечение с нужной тебе точностью.
Ссылку на что ты хочешь? На физ движок? Или на алгоритмы из narrow phase двига?
_________________ MOV topka, C++ |
|
|
Sh.Tac.
151 EGP
  Рейтинг канала: 5(108) Репутация: 14 Сообщения: 1426
Зарегистрирован: 27.07.2005
 |
|
DIMOSUS.X : |
Ссылку в студию
|
что-то типа такого наверное
_________________ This is what you get ...
(c) Radiohead |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Jurec : |
Статический trimesh на станции.
|
В Х3 они не статические — станцию можно тащить силовым лучом и при этом сшибать ей пролетающие мимо корабли.
Я хорошо знаю как работает физика в современных играх.
Но вот как это работает в Х3 мне не понятно...
Sh.Tac. : |
что-то типа такого наверное
|
Эмм... А где там trimesh vs trimesh?
добавлено спустя 2 минуты:
Не использует Х3 стандартные подходы. Нет там ни Convex shapes, ни Compoind shapes...
добавлено спустя 2 минуты:
Но точно знаю что для просчета физики и попаданий снарядов используется самый младший лод.
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
Последний раз редактировалось: DIMOSUS.X (00:08 11-04-2013), всего редактировалось 2 раз(а) |
|
|
Jurec
348 EGP
   Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006
 |
|
DIMOSUS.X : |
самый младший лод
|
То что я и говорил. А он выпуклый? Если из такого сделать Convex объект или множество Convex объектов - все будет работать и тебя не смущать
_________________ MOV topka, C++ |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Он не выпуклый — да же оригинальные лоды моделей в Х3 сделаны топором, точнее объединением близко расположенных вершин без удаления выступающих элементов.
Повторюсь — как это делается я знаю, и в своем движке использую Convex shapes объединяемые в Compoind shapes.
Просто для общего развития хочу знать как это работает в Х3. Не дает мне покоя мысль, что не могу додуматься до их решения
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
Jurec
348 EGP
   Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006
 |
|
Ну не знаю - спроси на форуме bullet'а, например )
_________________ MOV topka, C++ |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Уже спрашивал, правда не совсем там. Мне рассказали, что пока ни один физический движок не может обеспечить приемлемую производительность в случае использования для динамических тел trimesh шейпов...
Но как-то же это работает в Х3
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
Jurec
348 EGP
   Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006
 |
|
может они конвертируют последний лод в набор Convex'ов
_________________ MOV topka, C++
Последний раз редактировалось: Jurec (10:41 11-04-2013), всего редактировалось 2 раз(а) |
|
|
|
|
|
Канал Игры Мечты: «Поиск и обработка столкновений» |
|