|
|
|
Канал Игры Мечты: «Поиск и обработка столкновений» |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Неа — скажем если у большого корабля где-то имеется не закрытая щель, то через нее можно влететь внутрь корабля на мелком истребителе.
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
Jurec
348 EGP
   Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006
 |
|
ну у набора конвексов могут быть такие щели, разве нет?
_________________ MOV topka, C++ |
|
|
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
 |
|
PhysX умеет делать convex mesh из любой геометрии - ищи что-то типа CookConvexMesh
_________________ MOV topka, C++ |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Любой уважающий себя движок умеет делать "convex mesh" из произвольного набора точек — но как это относится к вопросу?
добавлено спустя 1 минуту:
Не в тему, на счет сказок о PhysX — аппаратно ускоряются в нем только физика частиц и ткани, все остальное рассчитывается как и у всех — на CPU.
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
Последний раз редактировалось: DIMOSUS.X (13:50 16-04-2013), всего редактировалось 1 раз |
|
|
Jurec
348 EGP
   Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006
 |
|
Это напрямую относится к вопросу. )
Вот теперь точно могу сказать, как сделано в x3. Берется последний лод, с ним делается что-то типа CookConvexMesh. Дальше, я надеюсь, понятно? )
_________________ MOV topka, C++ |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Я же уже не раз говорил что там не так
В большом корабле можно через каждый метр наделать перфорации и через нее можно будет спокойно залететь внутрь на мелком истребителе. При этом столкновения происходят только с треугольниками модели — то есть ни каких ConvexMesh.
добавлено спустя 1 минуту:
ConvexMesh строится не по мешу, а по набору точек этого меша. То есть не учитывает отдельные треугольники, а обволакивает разом все их вершины.
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
Последний раз редактировалось: DIMOSUS.X (16:00 16-04-2013), всего редактировалось 1 раз |
|
|
Jurec
348 EGP
   Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006
 |
|
Станция/большой корабль навряд состоят из одной геометрии. Скорее всего это набор таких геометрий.
добавлено спустя 4 минуты:
Я думаю там обязательно есть контроль как выглядит физическое представление - чтоб его всегда мог исправить художник.
_________________ MOV topka, C++
Последний раз редактировалось: Jurec (16:23 16-04-2013), всего редактировалось 1 раз |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Я сделал для Х3 ни один десяток кораблей и станций — нет там такого функционала.
Максимум что есть — возможность отключить столкновения для произвольного материала меша. А учитывая то, что у моделей по нескольку десятков разных материалов на одном мешеше, версия с ConvexMesh трещит по швам
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
Jurec
348 EGP
   Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006
 |
|
DIMOSUS.X : |
у моделей по нескольку десятков разных материалов на одном меше
|
А примеры материалов можно? Это важно
_________________ MOV topka, C++ |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Эээ, что именно ты имеешь в виду под примерами материалов?
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
Jurec
348 EGP
   Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006
 |
|
Ну ты говоришь что мешу можно задать по нескольку десятков разных материалов. А мне вот интересно - что именно входит в понятие "материал" в х3?
Ну там- просто цвет или еще и шейдер.
_________________ MOV topka, C++ |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Шейдер, набор текстур и вспомогательных параметров (альфатест, даблсайд, движения текстур и куча прочего)
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
Jurec
348 EGP
   Рейтинг канала: 4(76) Репутация: 102 Сообщения: 1441 Заблокирован Откуда: Seattle Зарегистрирован: 25.02.2006
 |
|
Ага. Ну тогда если ты имел дело с рендерингом, ты должен знать, что на один меш наложить несколько разных шейдеров нельзя. А значит понятие "mesh" в х3 - на самом деле множество геометрий.
DIMOSUS.X : |
А учитывая то, что у моделей по нескольку десятков разных материалов на одном мешеше, версия с ConvexMesh трещит по швам
|
Обоснуй
_________________ MOV topka, C++
Последний раз редактировалось: Jurec (17:02 16-04-2013), всего редактировалось 1 раз |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Хм, наверное с материалами погорячился.
Тогда так: можно создать куб, назначить всем его полигонам один материал и удалить у его одну сторону — мелкий корабль сможет беспрепятственно влететь внутрь куба и будет биться о его не удаленные стороны. Еще астероиды — они выполнены в виде одного сплошного меша с одним материалом, но при этом имеют значительные углубления, в которые легко может опуститься корабль.
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
Guest
2075 EGP
              Рейтинг канала: 5(167) Репутация: 376 Сообщения: 27975 Откуда: Моск. Зарегистрирован: 12.10.2004
 |
|
В этому случае в качестве тестера столкновений остается только один из лодов модели. Довольно затратная штука. Т.к. concave, по факту тестируется пересечение треугольников.
Либо все равно используется отдельный меш для столкновений, возможно полученный из лода некоторой оптимизацией и являющийся convex.
_________________ Трещит земля как пустой орех
Как щепка трещит броня |
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Кстати фактически в Х3 столкновения просчитываются очень упрощенно. Гасится скорость объектов, и добавляется небольшой импульс для выталкивания. Ни каких трений и моментов вращений нет.
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
SpaceJack
54 EGP
 Рейтинг канала: 1(7) Репутация: 3 Сообщения: 26
Зарегистрирован: 20.03.2013
 |
|
Например в движке Quest3d можно делать перерасчет статического меша при изменении его положения, для моделей в примерно 200 полигонов, перерасчет занимает меньше миллисекунды.
Если при этом все проверки и расчёты выполнять не на каждом кадре, а скажем раз 30 в секунду, получается практические бесплатная модель коллизий.
Учитывая что Quest3d не самый передовой движок, да и фишка эта там появилась еще много лет назад, думаю любой мало мальски приличный движок может делать тоже самое.
Так же, скорее всего, сделано и в иксах.
Да и 200 полигонов для модели коллизии это много.
|
|
|
DIMOSUS.X
997 EGP
        Рейтинг канала: 4(67) Репутация: 188 Сообщения: 3252 Откуда: Vilnius/Minsk Зарегистрирован: 06.08.2008
 |
|
Люди суют в иксы моднели на 50к полигонов вообще без лодов, и не смотря на это движок умудряется для них считать коллизии с приемлемой производительностью — не думаю что там происходит пересчет всего этого полигонального буйства
_________________ Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом. |
|
|
Decces
52 EGP
 Рейтинг канала: 2(15) Репутация: 4 Сообщения: 26
Зарегистрирован: 07.03.2013
 |
|
тоже столкнулся с такой проблемой, без convex никак, говорят "меняй физ двиг если не нравится"
|
|
|
|
|
|
Канал Игры Мечты: «Поиск и обработка столкновений» |
|