Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: CL | DM;

Вниз

Физика "прыжка"   Найти похожие ветки 

 
JockerColl   (2005-04-04 22:10) [0]

Я делаю игру(файтинг), кто-нибудь может подсказать формулу прыжка, т.е нужно чтобы объект
поднимался по оси у, а когда достигал определённого предела, опускался вниз,как бы под воздействием Силы тяжести


 
Юрий Зотов ©   (2005-04-04 22:23) [1]

Сорри, а что, школьный учебник физики не дает исчерпывающего ответа?

По оси Y:
v^2/2=gh (v - начальная и конечная скорость, g - ускорение свободного падения, h - высота прыжка).

По оси X: скорость не меняется, дальность прыжка определяется временем подъема и спуска.


 
Defunct ©   (2005-04-04 22:38) [2]

Задайтесь начальной вертикальной скоростью прыжка (V0) а дальше имея ускорение падения g вычисляйте текущую скорость как:

V(t) = V0 - g*t

текущая высота будет равна:

H(t) = Интеграл( V(t)dt )

Если мне не изменяет мой маразм.


 
Green_Templar ©   (2005-04-04 22:43) [3]

Отнимай каждую единицу времени какое-то число от скорости движения по ОУ, а потом от координаты отнимаешь скорость.


 
Anton M. Ivanov   (2005-04-05 07:55) [4]

А вообще, прочитай раздел Динамическая механика.Механика твердого тела. Уравнение движения неоднородного тела.
 Там прикрасно описано всё что тебе надо. И плюс: руки ноги тело и голову можно взять за отдельные объекты, которую имеют собственную массу и при прыжке учитывай силу приложенную к телу (каждый герой может обладать своей силой), вычисляй новые координаты тела каждую ед. времени и увидишь, что всё очень реально!!!!


 
Kobik   (2005-04-06 09:50) [5]

хех. Я сначала тоже подумал в чем проблема? Но на самом деле не все так гладко. Если сделать 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


 
Kobik   (2005-04-06 09:51) [6]

ээ очипятка. Там конечно min, а не max


 
Думкин ©   (2005-04-06 10:45) [7]

> [5] Kobik   (06.04.05 09:50)

Так тебе физику или шизику для игр? ты уж определись.


 
Kobik   (2005-04-06 11:16) [8]

>>Так тебе физику или шизику для игр? ты уж определись.

Ты наверно не догоняешь. В реальной жизни человек может заранее определить силу и дальность своего прыжка. В игре это можно сделать двумя способами:
1) Как в вормсах червяки кидают гранаты. Но для файтинга такой способ не годится.
2) Продолжительностью нажатия клавиши прыжка в процессе самого полета.

А не делать это ИМХО тупо. Вот в нидфокиле, например, хочу я перепрыгнуть бордюрчик сантиметр высотой, а юнит полетел...


 
Думкин ©   (2005-04-06 11:38) [9]

> [8] Kobik   (06.04.05 11:16)

Я догоняю. Ты определись. Физика она видишь ли физика - там клавиш и нидофиклы не катят. Там Кикоин рулит.


 
wiz   (2005-04-06 11:50) [10]

для начала нужно понять две вещи:

1. что формула f=ma задаёт диф.ур. второго порядка.
2. в нашем случае (игры) диф.уры можно и нужно решать тупым интегрированием методом конечных приращений. (для f=ma - двойным интегрированием)

как только придёт понимание этих двух вещей, станет совершенно очевидно что и как делается. (останется только добавить начальные(граничные) условия и вперёд)...


 
Думкин ©   (2005-04-06 12:12) [11]

> [10] wiz   (06.04.05 11:50)

Ему не это надо. Ему надо не физику. Ему надо нечто к игре присобачить - как в нидофиле каком-нить. Физика отдыхает.


 
Kobik   (2005-04-06 12:20) [12]

>>Ему не это надо. Ему надо не физику. Ему надо нечто к игре
>>присобачить - как в нидофиле каком-нить. Физика отдыхает.

Гыгы. Ну что там надо автору темы JockerColl-у мы вообще не знаем.

2Думкин
А ты сам то пробовал прыгнуть как твердое тело и по всем законам физики? :) Ну вернее не совсем твердое :) но хотябы по максимому не сгибая ноги. Либо это будет прыжок на 5-10см, либо ты прыгаешь на батуте :)

Разве так должны в файтинге прыгать челы???


 
Думкин ©   (2005-04-06 12:24) [13]

> [12] Kobik   (06.04.05 12:20)

А можно прыгнуть нарушая законы физики?
Может все-таки стоит потратить время и сформулировать вопрос коректнее?


 
Kobik   (2005-04-06 12:37) [14]

>>А можно прыгнуть нарушая законы физики?
Если уж быть точным, то одной силы тяжести мало. Во время прыжка также будут действовать
а) Внутренние силы. Чел может вертеть ногами, руками и т.д. все это будет значительно влиять на его траекторию движения.

б)Более мелкие внешние силы.
1) Сила сопротивления воздуха - эта сила может быть не такой уж и мелкой.
2) Может ветер дуть.
3) Вращение земли влияет на силу тяжести. Об этом тоже не стоит забывать 8)

ЗЫ. Я учусь на 3 курсе по направлению "Механика. Прикладная математика" и учить меня физике 7-го класса не нужно :)


 
Думкин ©   (2005-04-06 13:08) [15]

> [14] Kobik   (06.04.05 12:37)
> >>А можно прыгнуть нарушая законы физики?
> Если уж быть точным,

Вот с этого и надо начинать было. Вам надо описание хорошей модели реального прыжка. Если вы студент 3 курса указанного направления, то я думаю, вы прекрасно понимаете что вам надо и как и в чем могут возникнуть проблемы. Где руки нужны будут, где ноги. Мне кажется, что к 3 курсу вполне должно хватать квалификации чтобы создать приемлемую модель.
А что такое недофикл - я не знаю, например. поэтому говорить на недофикловском языке и с этими примерами - все равно что с глухим. Поставьте задачу наконец.


 
Думкин ©   (2005-04-06 13:12) [16]

приемлемую для игры - хотя конечно, тцут от уровня заваист. Верчение ногами, руками - последнее (это обычная аналитическая механика).



Страницы: 1 вся ветка

Текущий архив: 2005.07.18;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.054 c
14-1119416218
Ega23
2005-06-22 08:56
2005.07.18
С днём рождения! 22 июня


4-1116856275
lgcpiton
2005-05-23 17:51
2005.07.18
EPL2 команды из Delphi


3-1117727409
Ega23
2005-06-02 19:50
2005.07.18
Так всё-таки: как DB-шные компоненты работают с TDataSet?


3-1118211442
Iova
2005-06-08 10:17
2005.07.18
Запрос по вставке данных в таблицу с участием полей BLOB


1-1119938713
drakena
2005-06-28 10:05
2005.07.18
Обработка KeyDown