Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.037 c
14-1119418202
Sandman29
2005-06-22 09:30
2005.07.18
Верите?


14-1118633367
Тем
2005-06-13 07:29
2005.07.18
Вопрос по Фотошопу. Как поменять местами каналы ?


3-1117706174
Ega23
2005-06-02 13:56
2005.07.18
Invalid BLOB handle in record buffer


5-1090683370
Yaral
2004-07-24 19:36
2005.07.18
Наследование форм


1-1119851637
Vad74
2005-06-27 09:53
2005.07.18
Не работает Application.OnHelp в Delphi 6





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский