Войти
ПрограммированиеФорумФизика

3d сверхмультиполигональная физика

Страницы: 1 2 Следующая »
#0
18:14, 31 дек. 2014

всех с наступающим! есть мешы, содержащие от 20.000 до 170.000 треугольников, допустим, их штук 10. они свободно перемещаются и могут сталкиваться друг с другом за счет физического движка. геометрия честная - т.е. нужно достаточно точно повторить форму тел и все их изгибы. я так понимаю, что от такого количества треугольников любой физический движок умрет без оптимизации. скорее всего я возьму Bullet 3d - что можно сделать, чтобы все было зае**сь?? )


#1
18:48, 31 дек. 2014

BingoBongo
> что можно сделать, чтобы все было зае**сь?? )
Меньше треугольников, но это очевидный ответ, правда?
Нет пути. Нет надежды. Ничего не исправить.

#2
19:12, 31 дек. 2014

-Eugene-
а как на счет оптимизации, когда в автоматическом режиме количество треугольников для физики сокращается без значительных потерь в форме?

#3
19:15, 31 дек. 2014

BingoBongo
Ну, тогда придётся писать алгоритмы оптимизации сетки. Стандартные или не очень. И все равно, вогнутый тримеш был и остается самым отстойным типом фигур для физики.

#4
19:20, 31 дек. 2014

BingoBongo
> а как на счет оптимизации, когда в автоматическом режиме количество
> треугольников для физики сокращается без значительных потерь в форме?
Автоматическая оптимизация дает жуткий результат. Мелкие детали портятся. Проще сделать ретопологию руками, есть замечательные программы(3dCoat, ZBrush). При таком количестве полигонов, какое нужно для физики, даже мучаться особо не нужно. А с high-poly  действительно беда. Не нужно физическому движку столько полигонов, даже если бы он их переварил. Даже в идеальном случае пришлось бы сокращать аппетиты. Рендер и физ. расчет - разные технологии. Надеюсь, в этих моделях нет деталей, сделанных альфа-каналом?

#5
19:22, 31 дек. 2014

-Eugene-
> И все равно, вогнутый тримеш был и остается самым отстойным типом фигур для
> физики.
Именно. Есть детали, которые иначе как вогнутым тримешем не сделать. Я с такими сталкивался. Concave+concave ни один движок не обработает быстро.

#6
19:36, 31 дек. 2014

епти (( давайте сведем задачу к более реальным условиям. есть космические объекты (станции/корабли) типа вот таких http://nasa3d.arc.nasa.gov/models и есть космонавтыч, которым является игрок. нужно чтобы:

1) космонавт корректно сталкивался с внешней поверхностью станций
2) космонавт корректно сталкивался с внутренними помещениями станций
1), 2) будут похожи на эту игру от NASA http://www.nasa.gov/multimedia/3d_resources/station_spacewalk_game.html

3) космический станции могли адекватно сталкиваться между собой

собственно, что делать будем?  ) мне кажется, для наружних столкновений геометрию станции можно будет собрать из 3D примитивов (кубы, сферы и т.д.), кстате, в чем это лучше сделать? а когда космонавт перемещается внутри станции, то как это разрулить? помещения будут простыми, может тупо большими прямоугольниками вымостить коридоры? опять же - в каком ПО это удобно сделать?

#7
19:47, 31 дек. 2014

BingoBongo
> космонавт корректно сталкивался с внешней поверхностью станций
> космонавт корректно сталкивался с внутренними помещениями станций
Для просчета мелких объектов станцию считать статической тримеш-локацией, которые нормально поддерживаются

BingoBongo
> космический станции могли адекватно сталкиваться между собой
Упрощённая модель, собранная из convex или почти convex примитивов.
Главная беда тут будет в любом случае в разрушениях.

#8
21:45, 31 дек. 2014

-Eugene-
с разрушениями я уже придумал. если кто-то в кого-то врезался, будет либо легкое столкновение, не несущее деформаций, либо взрыв. если взрываться нечему, то объекты просто распадутся на обломки.

p.s. глянул HelloWorld Bullet'a - ппц, в сравнении с ним api Box2D придумали ангелы. а когда переключил float precision в double precision компиляция сломалась нахер. и это топовый бесплатный движок... может что получше есть?

#9
21:53, 31 дек. 2014

BingoBongo
> может что получше есть?
PhysX - топовый бесплатный (на пека) движок

#10
21:59, 31 дек. 2014

-Eugene-
так то он норм, но мне нужен с открытым исходным кодом, т.к. скорее всего поддержка смартфонов тоже будет. про PhysX пишут, что недоступна реализация под ARM для нормальный людей )

#11
22:01, 31 дек. 2014

BingoBongo
> т.к. скорее всего поддержка смартфонов тоже будет
ууу...
Bullet мне показался самым удобным после физикса. Ньютона еще можно посмотреть, но там - процедурщина.

#12
22:13, 31 дек. 2014

-Eugene-
> ууу...
херня, прорвемся )) про ньютон слышал, но что-то в нем не понравилось. сейчас основная проблема в том, что мне float'a мало, а переключение на double в Bullet'e (по крайней мере в моей версии с рюшечками для Marmalade SDK) не компилируется из-за десятка ненайденных функций и 100500 варнингов перевода double во float. я так понял, фишки некоторых библиотек или последние изменения Bullet'a написали без поддержки режимов float/double.

#13
2:25, 1 янв. 2015

BingoBongo
> херня, прорвемся ))
На мобилках вообще есть double?

#14
4:19, 1 янв. 2015

-Eugene-
> На мобилках вообще есть double?
Там уже и 64 бита есть.

Страницы: 1 2 Следующая »
ПрограммированиеФорумФизика

Тема в архиве.