forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Эластичкая физическая веревка(резинка) (http://forum.boolean.name/showthread.php?t=17508)

pepel 11.11.2012 21:30

Эластичкая физическая веревка(резинка)
 
В общем думаю как сделать такую вещь - эластичную 2D веревку и чтоб она взаимодействовала с физическими телами , больше подходит двиг bullet т.к. там можно скейлить объекты т.е. в нашем случае это шаги веревки ..

Вообще есть идея как сделать чтобы была веревка из точек которые соеденены друг с другом по типу пружина, закодить не сложно, они должны одновременно притягиваться и отдалятся в зависимости от расстояния, только вот вопрос - если между этими точками поставить линии(палочки) физические которые будут скейлится. как сделать еще зависимость этих точек и линий. т.е. к примеру линия колизится с объектом, и точки должны тоже перемещаться..

Мягкие тела не особо подходят , т.к. хочется чтоб можно было изменять количество шагов и длину веревки вручную онлайн..

В общем может есть у кого какие мысли...

Randomize 11.11.2012 22:01

Ответ: Эластичкая физическая веревка(резинка)
 
Cloth из плейна в 3dsmax. Сколько сегментов столько и сочленений. Либо собрать меш прямо блицем.

pepel 11.11.2012 22:32

Ответ: Эластичкая физическая веревка(резинка)
 
Цитата:

Сообщение от Randomize (Сообщение 243307)
Cloth из плейна в 3dsmax. Сколько сегментов столько и сочленений. Либо собрать меш прямо блицем.

да только это не подходит т.к. я собираюсь изменять сочленения вручную онлайн, т.е. растягивать сужать веревку, не просто скейлом а колличеством сочленений, сейчас пообщался с коксом , он подал идею:
Цитата:

точка (сфера) между сферами слидер с мотором для растягивания. сфера привязана сферическим джоинтом к линии(боксу) который привязан к следущей сфере
сейчас буду пробовать что из этого получится..:SOS:

pepel 12.11.2012 23:31

Ответ: Эластичкая физическая веревка(резинка)
 
Вложений: 1
вобщем поколдовал ..всеравно не получилось что хотел..
тестил на двух точках чтоб не усложнять код..
первый способ- шарики отдельно - взаимосвязь тоже свой код двигаются как надо но если между ними поставить палку, например с нулевым весом, то эта палка двигает предметы динамические , но сквозь статичные проникает. если же ее сделать с небольшим весом и двигать импульсом то она начинает дергатся, думал сделать так: узнавать силу отталкивания при коллизиях btContactGetForceY (lin1,i) и добавлять ее шарикам. но метод оказлся тухлым..

второй метод который предложил Coks соединить шарики пружиной, а каждый шарик в то время подсоединить hinge к палке.и менять точку сочленения в hinge...
все бы ничего , но в таком случае шарики плотно прикреплены друг к другу , немного конечно получилось повторить некое подобие эластичности , взяв линейную скорость с одного из шариков и намудрив формулу энерции...

вобщем вопрос остается открытый, если кто может помоч, буду рад.

прикрепляю два примера (exe и bb) которые описывал. так и назвал как надо. и как получилось


Часовой пояс GMT +4, время: 18:12.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot