![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Физика "прыжка" [D7]
JockerColl © (2005-04-04 22:10:00)Я делаю игру(файтинг), кто-нибудь может подсказать формулу прыжка, т.е нужно чтобы объект
поднимался по оси у, а когда достигал определённого предела, опускался вниз,как бы под воздействием Силы тяжести
Думкин (2005-04-06 13:12:00) [1]приемлемую для игры - хотя конечно, тцут от уровня заваист. Верчение ногами, руками - последнее (это обычная аналитическая механика).
Думкин (2005-04-06 13:08:00) [2]> [14] Kobik (06.04.05 12:37)
> >>А можно прыгнуть нарушая законы физики?
> Если уж быть точным,
Вот с этого и надо начинать было. Вам надо описание хорошей модели реального прыжка. Если вы студент 3 курса указанного направления, то я думаю, вы прекрасно понимаете что вам надо и как и в чем могут возникнуть проблемы. Где руки нужны будут, где ноги. Мне кажется, что к 3 курсу вполне должно хватать квалификации чтобы создать приемлемую модель.
А что такое недофикл - я не знаю, например. поэтому говорить на недофикловском языке и с этими примерами - все равно что с глухим. Поставьте задачу наконец.
Kobik (2005-04-06 12:37:00) [3]>>А можно прыгнуть нарушая законы физики?
Если уж быть точным, то одной силы тяжести мало. Во время прыжка также будут действовать
а) Внутренние силы. Чел может вертеть ногами, руками и т.д. все это будет значительно влиять на его траекторию движения.
б)Более мелкие внешние силы.
1) Сила сопротивления воздуха - эта сила может быть не такой уж и мелкой.
2) Может ветер дуть.
3) Вращение земли влияет на силу тяжести. Об этом тоже не стоит забывать 8)
ЗЫ. Я учусь на 3 курсе по направлению "Механика. Прикладная математика" и учить меня физике 7-го класса не нужно :)
Думкин (2005-04-06 12:24:00) [4]> [12] Kobik (06.04.05 12:20)
А можно прыгнуть нарушая законы физики?
Может все-таки стоит потратить время и сформулировать вопрос коректнее?
Kobik (2005-04-06 12:20:00) [5]>>Ему не это надо. Ему надо не физику. Ему надо нечто к игре
>>присобачить - как в нидофиле каком-нить. Физика отдыхает.
Гыгы. Ну что там надо автору темы JockerColl-у мы вообще не знаем.
2Думкин
А ты сам то пробовал прыгнуть как твердое тело и по всем законам физики? :) Ну вернее не совсем твердое :) но хотябы по максимому не сгибая ноги. Либо это будет прыжок на 5-10см, либо ты прыгаешь на батуте :)
Разве так должны в файтинге прыгать челы???
Думкин (2005-04-06 12:12:00) [6]> [10] wiz (06.04.05 11:50)
Ему не это надо. Ему надо не физику. Ему надо нечто к игре присобачить - как в нидофиле каком-нить. Физика отдыхает.
wiz (2005-04-06 11:50:00) [7]для начала нужно понять две вещи:
1. что формула f=ma задаёт диф.ур. второго порядка.
2. в нашем случае (игры) диф.уры можно и нужно решать тупым интегрированием методом конечных приращений. (для f=ma - двойным интегрированием)
как только придёт понимание этих двух вещей, станет совершенно очевидно что и как делается. (останется только добавить начальные(граничные) условия и вперёд)...
Думкин (2005-04-06 11:38:00) [8]> [8] Kobik (06.04.05 11:16)
Я догоняю. Ты определись. Физика она видишь ли физика - там клавиш и нидофиклы не катят. Там Кикоин рулит.
Kobik (2005-04-06 11:16:00) [9]>>Так тебе физику или шизику для игр? ты уж определись.
Ты наверно не догоняешь. В реальной жизни человек может заранее определить силу и дальность своего прыжка. В игре это можно сделать двумя способами:
1) Как в вормсах червяки кидают гранаты. Но для файтинга такой способ не годится.
2) Продолжительностью нажатия клавиши прыжка в процессе самого полета.
А не делать это ИМХО тупо. Вот в нидфокиле, например, хочу я перепрыгнуть бордюрчик сантиметр высотой, а юнит полетел...
Думкин (2005-04-06 10:45:00) [10]> [5] Kobik (06.04.05 09:50)
Так тебе физику или шизику для игр? ты уж определись.
Kobik (2005-04-06 09:51:00) [11]ээ очипятка. Там конечно min, а не max
Kobik (2005-04-06 09:50:00) [12]хех. Я сначала тоже подумал в чем проблема? Но на самом деле не все так гладко. Если сделать h=v0*t+g*t*t/2 то чел будет прыгать как в нидфокиле. Это не есть хорошо.
Во многих играх игрок может задавать силу прыжка (гляньте любые старые аркадки). Когда нажимаешь вверх задается V0. А ускорение свободного падения начинает действовать через max{T1, [время когда отпущена кнопка]} где T1 можно вычислить из формулы
Hmax - V0*T1 = V0*T2 + g*T2*T2/2 (T2 - время от начала действия силы тяжести до смены направления движения; Hmax - заданная максимальная высота прыжка, если кнопка не отпускалась во время прыжка)
В итоге получаем что-то типа:
T1 = Hmax/V0 - 3*V0/2g
Anton M. Ivanov (2005-04-05 07:55:00) [13]А вообще, прочитай раздел Динамическая механика.Механика твердого тела. Уравнение движения неоднородного тела.
Там прикрасно описано всё что тебе надо. И плюс: руки ноги тело и голову можно взять за отдельные объекты, которую имеют собственную массу и при прыжке учитывай силу приложенную к телу (каждый герой может обладать своей силой), вычисляй новые координаты тела каждую ед. времени и увидишь, что всё очень реально!!!!
Green_Templar (2005-04-04 22:43:00) [14]Отнимай каждую единицу времени какое-то число от скорости движения по ОУ, а потом от координаты отнимаешь скорость.
Defunct (2005-04-04 22:38:00) [15]Задайтесь начальной вертикальной скоростью прыжка (V0) а дальше имея ускорение падения g вычисляйте текущую скорость как:
V(t) = V0 - g*t
текущая высота будет равна:
H(t) = Интеграл( V(t)dt )
Если мне не изменяет мой маразм.
Юрий Зотов (2005-04-04 22:23:00) [16]Сорри, а что, школьный учебник физики не дает исчерпывающего ответа?
По оси Y:
v^2/2=gh (v - начальная и конечная скорость, g - ускорение свободного падения, h - высота прыжка).
По оси X: скорость не меняется, дальность прыжка определяется временем подъема и спуска.