![]() |
Физика удара.
Вложений: 1
Коллеги! Делаю игру. Столкнулся с таким вопросом:
Есть фигура (прямоугольник, скажем, машина или танк), он движется. По нему ударяется снаряд. Как тело будет вести себя? Если б это была игра бильярд, то все просто(просто обмен скоростями), а тут так не пойдет (ну только если для случая 1 и то разные массы. А в случае 2 и 3 совсем не пойдет :( . Чувствую что физика не супер высокая, но все же меня заклинило. ПОМОГИТЕ! Как описать движение фигуры? |
помоему, я эту систему уравнений в программе математика решал (для разных масс), а потом в код вставлял, громоздко, понимаешь =(
Здесь или еще на каком-то сайте исходник упругого соударения шариков разных размеров был - ищи его а выражаются скорости тел после соодарения так: //сохранение импульса m1*v1x+m2*v2x=m1*v1'x+m2*v2'x m1*v1y+m2*v2y=m1*v1'y+m2*v2'y //сохранение энергии m1(v1*v1)/2+m2(v2*v2)/2=m1(v1'*v1')/2+m2(v2'*v2')/2 где v1=sqrt(v1x*v1x+v1y*v1y)- модуль v2=... v1'x -составляющая скорости после удара по x, v1'y -... физика конечто не супер высокая, но геморная, если учесть, что гашение добавить, танк НЕ НА ЛЬДУ стоит... Но всегда можно схитрить, маленько исказить физику и сделать что-то похожее то же если пуля вошла в танк, а не отскочила: m1*v1x+m2*v2x=m1*v1'x - здесь сразу без всякой энергии m1*v1y+m2*v2y=m1*v1'y получаем: v1'x=(m1*v1x+m2*v2x)/m1 v1'y=... |
Да всё то же что и в бильярде, кстати: взаимодействие центров масс - обмен импульса по линии столкновения и перпендикулярно ей (ну и что что массы разные - в бильярде тоже бывает соударение шара с массивом соприкасающихся шаров) и вращение, вызванное снарядом (радиальная скорость*коэффициент отношения масс/плечо).
Тут даже проще получается: трением при соударении можно пренебречь, вращение есть только по одной оси, вращения снарядов - нет, коэффициенты трения можно сделать линейными относительно скорости центра масс и угловой скорости, предметы не разлетаются после соударения, резинок на бортах нет - халява, сэр :) А вот с бильярдом я запарился... :) |
Советую не заморачиваться на реальной физике, а сделать все максимально просто, главное чтоб движение было более менее адекватно стандартным соударениям.
Хотя если эта игра будет рассчитывать траектории полета на Марс, то тут стоит подумать... |
Слушайте CCCPirate он дело говорит, так же говорит Джоб Макар один из лучших Флэш-Игроделов.
Во первых меньше кода Во вторых меньше нагрузка на проц, никому не нужна реальная физика с тормозами |
Не слушайте CCCPirate и Nirth :)
Конечно, там, где не важна физика, можно и аркадностью заменить, но хорошая физика - это много плюсов для естественности игрового процесса, для играбельности, для приятственности, если не сильно тормозит, конечно... Почему так интересно смотреть на скачующего по минам пингвина? В чём секрет успеха игры "Gish"? И почему все так носятся с идеей отдельной платы ускорения физики в играх? А против вашего Джоба Макара выставляю Андэ Мишеля ( http://globz.com и http://blog.andre-michelle.com/2006/...engine-in-as3/ ) - любит человек физические движки во флэше делать... ;) |
| Часовой пояс GMT +4, время: 22:20. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.