Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Поиск и обработка столкновений |
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Search | Conference rules | Album | Register | Pilots list | Profile | Log in to check your private messages | Log in

   Page 1 of 3
Go to page: 1, 2, 3  Next | All pages
Поиск в этой теме:
Канал Игры Мечты: «Поиск и обработка столкновений»
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
: 188
Posts: 3252
Location: Vilnius/Minsk
Joined: 06 Aug 2008
Как это реализовано в Х3?
Ведь даже современные крутейшие физические движки не позволяют просчитывать столкновения и взаимодействия двух произвольных не статических геометрий, без использования обволакивания (convex hull).

добавлено спустя 2 минуты:
А в Х3 пожалуйста — можно легко и не принужденно летать на истребителе между элементами какого-нибудь Xenon K
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.

Last edited by DIMOSUS.X on 01:43 07-04-2013; edited 1 time in total
    Posted: 01:43 07-04-2013   
Kosmonavt
 165 EGP


Рейтинг канала: 1(3)
: 35
Posts: 748
Location: Дубна
Joined: 04 Jul 2003
Да ладно, такое много где встречается. Вот например в battlefield 3 есть вертолеты с "дыркой" через которую пролетают пули и ракеты. И не обязательно делать движок умеющий просчитывать невыпуклые геометрические примитивы. Можно ведь с помошью выпуклых создать любой обьект.
_________________
Самая elit-ная игра - жизнь. Первое задание в ней - построить космический корабль.
    Posted: 02:30 07-04-2013   
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
: 188
Posts: 3252
Location: Vilnius/Minsk
Joined: 06 Aug 2008
Пули и ракеты как таковые не имеют физического тела, да и колизии ищутся не с физическим телом вертолета, а с его BSP.
Составные объекты это конечно один из вариантов выхода, но вопервых это дополнительная нагрузка художникам, а во вторых интересует именно реализация в Х3.
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
    Posted: 03:13 07-04-2013   
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
: 188
Posts: 3252
Location: Vilnius/Minsk
Joined: 06 Aug 2008
У меня пока только одна идея как сделать подобное.
Перво-наперво искать пересечения AABB двух тел. Далее перевести KD-tree одного, в пространство другого и затем перебором искать вхождения AABB самых нижних листьев, без проверки самих треугольников.

Топорно, но для космоса может сгодится.
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
    Posted: 16:22 07-04-2013   
Guest
 2076 EGP


Модератор
Рейтинг канала: 5(167)
: 376
Posts: 27975
Location: Моск.
Joined: 12 Oct 2004
DIMOSUS.X wrote:
Как это реализовано в Х3?

Вангую прокси. С большой долей вероятности - многоуровневые, возможно с доптесселяцией возле игрока.
Первичное обраужение всё равно через боунд-сферу или боунд-бокс. Так быстрее и разгружает обсчёт кадра.

добавлено спустя 15 секунд:
Или тебе конкретно алгоритмы надо?

добавлено спустя 4 минуты:
DIMOSUS.X wrote:
Пули и ракеты как таковые не имеют физического тела, да и колизии ищутся не с физическим телом вертолета, а с его BSP.

Составные объекты это конечно один из вариантов выхода, но вопервых это дополнительная нагрузка художникам, а во вторых интересует именно реализация в Х3.

А. Нет, художникам это не нагрузка.
Составной коллижен-меш - тоже не нагрузка. Плюс он может иметь дыры (хотя в этом случае нельзя считать такой меш односторонним, т.к. луч может столкнуться с ним изнутри).

З.Ы.: специально не занимался, вышесказанное может быть бнёй.
_________________
Трещит земля как пустой орех
Как щепка трещит броня

Last edited by Guest on 01:52 08-04-2013; edited 3 times in total
    Posted: 01:52 08-04-2013   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
: 102
Posts: 1441 Заблокирован
Location: Seattle
Joined: 25 Feb 2006
DIMOSUS.X wrote:
Ведь даже современные крутейшие физические движки не позволяют просчитывать столкновения и взаимодействия двух произвольных не статических геометрий, без использования обволакивания (convex hull).


Даже довольно старые плохие физ движки умеют это делать - делают они это через trimesh (Triangle Mesh). Готов поспорить делают через trimesh и в X3.

добавлено спустя 2 минуты:
И да, художникам дополнительная нагрузка - но если на проекте делают lod'ы (а их уж точно нужно делать в играх где объект может удалиться достаточно далеко), то collision trimesh получается нахаляву из менее детального lod'а.

Ну и давно уже есть такая штука как auto-lod - генерация оных автоматом хоть в run-time.

добавлено спустя 6 минут:
DIMOSUS.X wrote:
не статических геометрий

А, стоп. НЕ статических trimesh нет вроде пока что.
Но чет я не пойму - где в Ксеноне К "не статическая геометрия"
_________________
MOV topka, C++

Last edited by Jurec on 16:52 09-04-2013; edited 2 times in total
    Posted: 16:52 09-04-2013   
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
: 188
Posts: 3252
Location: Vilnius/Minsk
Joined: 06 Aug 2008
Статическая геометрия в понятиях физики — это скажем терейн, который заморожен и не реагирует на приложение к нему каких-либо сил.

добавлено спустя 8 минут:
Не статическая геометрия — имел в виду произвольные наборы треугольников, без обтягивания их convex hull
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.

Last edited by DIMOSUS.X on 17:59 09-04-2013; edited 1 time in total
    Posted: 17:59 09-04-2013   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
: 102
Posts: 1441 Заблокирован
Location: Seattle
Joined: 25 Feb 2006
DIMOSUS.X wrote:
Не статическая геометрия — имел в виду произвольные наборы треугольников, без обтягивания их convex hull


Тогда trimesh. Если эти треугольники не изменять во времени (ессно, можно трансформацию применять на весь trimesh)
_________________
MOV topka, C++

Last edited by Jurec on 16:03 10-04-2013; edited 1 time in total
    Posted: 16:03 10-04-2013   
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
: 188
Posts: 3252
Location: Vilnius/Minsk
Joined: 06 Aug 2008
Тогда как два trimesh должны взаимодействовать друг с другом?
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
    Posted: 16:14 10-04-2013   
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
: 188
Posts: 3252
Location: Vilnius/Minsk
Joined: 06 Aug 2008
В Х3 используется что-то гораздо хитрее...
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
    Posted: 17:28 10-04-2013   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
: 102
Posts: 1441 Заблокирован
Location: Seattle
Joined: 25 Feb 2006
Я чего -то не пойму в чем проблема-то? И чего в х3 используется что-то хитрое?

trimesh vs trimesh коллизия просчитывается физдвижком. Не пойму про "как два trimesh должны взаимодействовать друг с другом? "
_________________
MOV topka, C++
    Posted: 19:44 10-04-2013   
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
: 188
Posts: 3252
Location: Vilnius/Minsk
Joined: 06 Aug 2008
Jurec wrote:
trimesh vs trimesh коллизия просчитывается физдвижком.

Ссылку в студию Улыбка

trimesh, как динамическое тело с массой, не может взаимодействовать с другими телами. Точнее может, но тогда даже два таких колизящихся тела полностью убивают процессорное время.
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
    Posted: 19:51 10-04-2013   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
: 102
Posts: 1441 Заблокирован
Location: Seattle
Joined: 25 Feb 2006
Ты неверно меня понял. На примере х3:

Статический trimesh на станции.

Динамический объект на корабле, для просчета быстрых динамических объектов (капсула, например)

если trimesh станции контактирует с капсулой - можно посчитать их пересечение с нужной тебе точностью.

Ссылку на что ты хочешь? На физ движок? Или на алгоритмы из narrow phase двига?
_________________
MOV topka, C++
    Posted: 22:45 10-04-2013   
Sh.Tac.
 151 EGP


Рейтинг канала: 5(108)
: 14
Posts: 1426

Joined: 27 Jul 2005
DIMOSUS.X wrote:
Ссылку в студию

что-то типа такого наверное Улыбка
_________________
This is what you get ...
(c) Radiohead
    Posted: 22:51 10-04-2013   
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
: 188
Posts: 3252
Location: Vilnius/Minsk
Joined: 06 Aug 2008
Jurec wrote:
Статический trimesh на станции.

В Х3 они не статические — станцию можно тащить силовым лучом и при этом сшибать ей пролетающие мимо корабли.

Я хорошо знаю как работает физика в современных играх.
Но вот как это работает в Х3 мне не понятно...
Sh.Tac. wrote:
что-то типа такого наверное

Эмм... А где там trimesh vs trimesh? Подозрение.

добавлено спустя 2 минуты:
Не использует Х3 стандартные подходы. Нет там ни Convex shapes, ни Compoind shapes...

добавлено спустя 2 минуты:
Но точно знаю что для просчета физики и попаданий снарядов используется самый младший лод.
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.

Last edited by DIMOSUS.X on 00:08 11-04-2013; edited 2 times in total
    Posted: 00:08 11-04-2013   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
: 102
Posts: 1441 Заблокирован
Location: Seattle
Joined: 25 Feb 2006
DIMOSUS.X wrote:
самый младший лод


То что я и говорил. А он выпуклый? Если из такого сделать Convex объект или множество Convex объектов - все будет работать и тебя не смущать
_________________
MOV topka, C++
    Posted: 09:22 11-04-2013   
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
: 188
Posts: 3252
Location: Vilnius/Minsk
Joined: 06 Aug 2008
Он не выпуклый — да же оригинальные лоды моделей в Х3 сделаны топором, точнее объединением близко расположенных вершин без удаления выступающих элементов.

Повторюсь — как это делается я знаю, и в своем движке использую Convex shapes объединяемые в Compoind shapes.

Просто для общего развития хочу знать как это работает в Х3. Не дает мне покоя мысль, что не могу додуматься до их решения Хы...
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
    Posted: 09:41 11-04-2013   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
: 102
Posts: 1441 Заблокирован
Location: Seattle
Joined: 25 Feb 2006
Ну не знаю - спроси на форуме bullet'а, например )
_________________
MOV topka, C++
    Posted: 09:47 11-04-2013   
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
: 188
Posts: 3252
Location: Vilnius/Minsk
Joined: 06 Aug 2008
Уже спрашивал, правда не совсем там. Мне рассказали, что пока ни один физический движок не может обеспечить приемлемую производительность в случае использования для динамических тел trimesh шейпов...
Но как-то же это работает в Х3 Подозрение.
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
    Posted: 09:52 11-04-2013   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
: 102
Posts: 1441 Заблокирован
Location: Seattle
Joined: 25 Feb 2006
может они конвертируют последний лод в набор Convex'ов
_________________
MOV topka, C++

Last edited by Jurec on 10:41 11-04-2013; edited 2 times in total
    Posted: 10:40 11-04-2013   
Канал Игры Мечты: «Поиск и обработка столкновений»
Go to page: 1, 2, 3  Next | All pages
  
Display posts from previous: 
View previous topic | View next topic |
К списку каналов | Наверх страницы
Цитата не в тему: Согласно статистике постов, на любой пятой странице любой темы к сабжу любой темы - относятся. (Harley)

  » Поиск и обработка столкновений |
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18