Форум: "Игры";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];
ВнизGLscene colisions Найти похожие ветки
← →
CraKer (2004-04-22 15:07) [0]Есть ли у кого пример или просто код, описывающий правильные коллизии в ГЛсцене(стандартные примеры - не то), например просто Actor который при столкновении со стенкой - останавливается, буду оч благодарен, актор не должен застревать в стене..
← →
КиТаЯц (2004-04-22 15:13) [1]2 CraKer
Найдеш ответ - скинь на мыло мне плиз. Ну, если не жалко будет. Спасибо. :)
← →
Yar-Com (2004-04-22 15:34) [2]задача не очень простая и вариантов решения может быть несколько
самый простой: после определения момента столкновения вернуть объект на предыдущую позицию...
но это криво
есть еще варианты но...
вы как объекты двигаете как выглядит цикл перемещения объектов? привязка ко времени есть? можно откатывать объект назад и уменьшать временной шаг и пробовать колизию еще раз и так пока нормально не определиться точка столкновения......
← →
Yar-Com (2004-04-22 15:37) [3]я как раз сейчас в реальном маштабе времени ) этот кусок и пишу...
так что алгоритмом пока помочь немогу может седня выложу если сделаю...
← →
CraKer (2004-04-22 15:52) [4]Ок буду ждать, хотя есть сомнение, что нужно векторами все это просчитывать...
← →
Yar-Com (2004-04-22 16:06) [5]ну можно еще считать где объект должен находится на самом деле и помещать его туда...
← →
Yar-Com (2004-04-22 17:48) [6]сделал.
вобщем у меня все движущиеся объекты перемещаются с шагом времени dt по закону P(t+dt) = P(t) + V*dt
если шар пересекся с плоскостью я вычисляю сначала ту точку в которой шар должен был бы остановиться еслиб это была не виртуальная плоскость а стена :) обозначим эту точку буквой I дальше вычисляю новое значение шага времени dT по формуле:
dT = |I - P(t)| / |V|;
затем откатываю систему на шаг назад, на момент перед столкновением и снова двигаю всю систему но уже по dT
вот....
← →
Yar-Com (2004-04-22 17:50) [7]если нужен исходник то без проблем тока почищу от мусора и седня кому надо вышлю...
← →
CraKer (2004-04-22 20:52) [8]Исходник - конечно надо! mipstudio@fromru.com
← →
Думкин © (2004-04-23 06:30) [9]Сабжем никогда не интерисовался, но по поводу
> Yar-Com (22.04.04 17:50) [7]
скажу.
Если это действительно ценно для участников - то лучше или в базу готовых решений кидать или в виде статьи, или ЧАВО, или на своем сайте положить, но совсем не устраивать мыльную рассылку.
Удачи.
← →
КиТаЯц (2004-04-23 07:50) [10]2 Yar-Com (22.04.04 17:50) [7]
Мне скинь dunin@hotmail.ru Спасибо.
← →
Yar-Com (2004-04-23 08:21) [11]хм.. возникла проблемма с углами.....
напрямую шары через плоскость не проходят а вот если шар касается сразу двух плоскостей тут проблеммы....буду искать...(((
← →
Yar-Com (2004-04-23 08:33) [12]аааа понял, у меня проблемма с условиями.
не могу правильно определить действительно ли шар пересек плоскость. щас нарисую на бумажке и доделаю.
← →
CraKer (2004-04-23 12:03) [13]Снова ждемс...
← →
Yar-Com (2004-04-23 12:34) [14]ну все выслал всем...
2 Думкин: на счет статейки или фака ты конечно прав но есть некоторые проблеммы с изложением материала как все это оформить???
ну и конечно метод имеет глюк еще не проверял на сколько этот глюк страшен :) но он есть :) связано это с тем что в процессе проверки столкновения временной шаг на текущей итерации может измениться т.е. мир на время хоть и на очень короткое замирает ) хотя я визуально отличия не заметил )
← →
Vertex (2004-04-23 22:45) [15]А колижн бокс или если полигонально просчитываете, незя ли увеличить? Типа если простой объект сфера, то коллизию просчитывать не с ее радиуса, а с радиуса+дельта. А потом просто подпускать еще некоторое приращение (вычисленное с учетом той же дельты), и останавливать если нужна точность коллизии или сразу тормозиться?
← →
Yar-Com (2004-04-24 08:44) [16]Можно и так делать но придется внести ограничение по максимальной скорости движения.
← →
CraKerX (2004-04-25 16:10) [17]Могу дать исходники коллижнов, специально для GLscene, ну всмысле написаные уже под него.. они слегонца кривые, зато максимально сокращенные...
← →
КиТаЯц (2004-04-26 09:12) [18]И еще про коллизии в GLScene...
Там есть простой пример collision\sphere
Написано:"Ultra-basic collision detection sample. Two sphere have been placed in the scene, both have a TGLBCollision behaviour linked to the collision manager component"
Что я понимаю как "Самый базовый пример коллизии. Две сферы в сцене, и обе имеют линку типа TGLBCollision на компонент collision manager
"
Помогите убогому найти это самую линку... :( С какой стороны сферы не разглядываю все никак понять не могу каким местом они с коллизион менеджером взаимодействуют...
← →
КиТаЯц (2004-04-26 13:58) [19]Все, разобрался (спасибо добрым людям)! у DummyCube есть Behaviours, а там итемсы... в них все и сидит :)
← →
CraKerX (2004-04-26 20:25) [20]Кста по моему использование Colligne manager - не самый лучший способ, там глюки есть, и куча подводных камней.. сейчас не припомню, но сразу отказался от такого метода..
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.038 c