Вход
Скорость звука
Контекст | Сообщение |
---|---|
Akven
2005.02.08 10:34:00 | Кстати, люди, вы никогда не задумывались, что в играх (конкретно, в FPS) никогда не используется скорость звука. То есть самое конкретное и явственное её проявление - задержка между вспышкой и грохотом взрыва. Что странно. Современные игровые пространства по размерам вполне подходят для того, чтобы улетевшая ракета взорвалась с задержкой, которую можно уловить слухом и, главное, смоделировать в движке. Кстати, что я ещё заметил - в играх не учитывается силя тяжести в баллистике полёта пули. Хотя, допустим, при выстреле из той же снайперской винтовки на расстоянии хотя бы метров в 500-600 уже будет заметно падение траектории полёта. Что вполне можно было бы пихнуть в какой-нибудь CS =) Хм... вот такие вот заметки... |
Gambler
2005.02.08 17:06:00 | Все это надо программировать. И если со звуком особых проблем нет - надо просто умножить расстояние на какую-то константу, чтобы получить задержку, то в рассчете траектории пули надо учитывать ее скорость, замедление и компенсацию (в некоторых винтовках есть механизм компенсации; как работает не знаю). Кто с этим захочет возиться, когда этого всё равно не замечают? Сейчас главное - это графика. |
Grav
2005.02.08 21:50:00 | Насчёт баллистики. В дельта форс (во всех версиях) пули летали чётко по параболе. То есть с увеличением расстояния или уменьшением мощности ствола приходилось забирать несколько выше цели. Благодаря этому ваш покорный слуга ни раз снимал чуть-чуть сползших и спрятавшихся за гребень холма противников. |
Akven
2005.02.08 21:51:00 | Ну не знаю, как там на счёт падения траектории. Формула расчёта-то простая - mg, если я не ошибаюсь. В любой мало-мальски AD&D идёт такой математический расчёт, что все эти вычисления по скоростям и падениям - так, цветочки. ИМХО, это и самое главное, что сейчас идёт упор на графику. Да, существует такая нехорошая штука, что игру с плохой графикой запинают. Ибо как известно, встречают по одёжке... На пулю же в полёте действуют следующие силы, которые можно разложить в проекции по направлениям: А вообще я, конечно же эстет... *смайл* |
Gambler
2005.02.09 21:02:00 |
Сразу говорю - физику забыл почти всю. Однако по-моему ты ошибаешься. mg - это вес aka сила, с которой что-то притягивается землей. g - это константа ускорения, равная 9.8 м/(с^2). По-моему, формула будет такая: v = g * t^2. Если ошибаюсь, поправьте. Да, это не ахти какая сложность рассчетов. Только ты не учел, что дело происходит в 3D пространстве и в "реальном" времени. Ну, получили мы кривую полета пули, дальше-то что? Надо ведь проверить _что_ и _когда_ встречается на этой кривой. А вот это уже сложно. |
Akven
2005.02.09 21:53:00 | Хм, действительно, она самая формула, кажется. Видать, всё таки не зря я физику сдал в своё время что говорится на шару. Значит, плохо знал =))
Во-первых, так как в большинстве современных игр не учитывается такая деталь как ветер, то мы имеем то, что третье измерение в расчётах не учитывается и схема расчёта будет являться простой проекцией. Давайте, может ещё кто-нибудь сможет вспомнить - какие именно достаточно очевидные и не столь сложные во внедрении эффекты реального мира не используются в играх (я так понимаю, подразумеваем жанр FPS как наиболее соответствующий какой-никакой действительности хотя бы в плане графики). |
Akven
2005.02.09 22:00:00 |
О-о-о. Я правда, в Дельта Форс не играл, ибо сильно тормозит и вообще не идёт, но весьма рад. |
Gambler
2005.02.10 00:44:00 |
Начнем с простого. Найди, если есть желание, формулу, которая доказывает пересечение абстрактного вектора с абстрактным полигонов в 3D. Я, например, с лету ее найти не смог. Через несколько часов попытаюсь вывести, но навряд ли у меня это получится. |
Gambler
2005.02.10 00:55:00 | http://answers.google.com/answers/threadview?id=18979 У-у, как все просто-о... А теперь попытайся высести аналогичную формулу для параболы. |
Akven
2005.02.10 09:00:00 | Твои ссылки ещё не читал. Мои мысли без них... Концепция расчёта встречи пули с препятствием (просто быстро надуманный набросок) Итак, имеем пулю в 3D пространстве. Её положение описывается 3-мя координатам: x, y, z. Каждая координата во времени изменяется по известному закону (разложение скорости по проекциям и прочее и прочее - если мы уж решили стрелять, то, как я уже говорил, у нас есть вполне адекватные реальным эффектам мат. формулы). Конечно, если рассчитывать сразу множество пуль, да ещё и с разными характеристиками в разных средах, помноженные на общее количество полигонов хотя бы в кадре (хотя, как известно, во многих играх для поражаемых субъектов а-ля люди и монстры используются так называемые hit-box'ы), то получаем весьма существенные вычисления. Но это не означает, что подобное сделать невозможно или то, что это достаточно сложно. К тому же наверняка существуют более совершенные и оптимизированные алгоритмы, которые и применяются в современных играх. Просто я их не в состоянии вывести в столь короткий срок *смайл* P.S. Такое ощущение, что пора начать писать по этой теме какую-нибудь аналитику =)))))) |
Akven
2005.02.10 09:04:00 | К тому же, всегда можно произвести линейную апроксимацию параболы и получить на конечном участке линию. |
Gambler
2005.02.14 09:47:00 |
Формулы - это не что-то побочное, а самая главная компонента моделирования, так что советую все же сначала прочитать документ, на который я дал ссылку.
В общем-то правильно, только не линиями, а векторами. Поведению векторов посвящен определенный сегмент геометрии, о котором лично у меня есть лишь смутные представления.
Чтобы писать такую аналитику, нужно разбираться в программировании, физике, геометрии и математике матриц. PS: Я ведь не говорю, что сделать параболические траектории пуль невозможно. Я говорю лишь, что это сложность их моделирования во много крат перевешивает пользу (эффект на игрока) их применения. |
Akven
2005.02.15 10:16:00 |
Я имел в виду, что накатать некое подобие статьи на тему неиспользуемых в играх эффектов, а не на тему их конкретного технического воплощения. Кстати, аэродинамические свойства пули также не используются, что в простейшем случае выражается в том, что с расстоянием пробивная способность падает. P.S. И почему это сложно технически? Ведь сподобились же люди создать ентот самый физический движок Havok. Сомневаюсь, что расчёт какой-то там параболы для них будет чем-то сложным. К тому же я так подозреваю, что эта штука уже включена в него (ибо полёты бочек после взрыва) |
Gambler
2005.02.15 15:50:00 | Havok - это как раз пример того, насколько это сложно технически. Люди сделали отдельный физический движок, который только такими вещами и занимается, и лицензируют его за большие деньги.
Я скоро напишу статью про общую логику и математику игровых систем. Однако в дебри физических эффектов лезть не стану, пока не выведу конкретный способ их воплотить. Иначе это просто треп. |
Akven
2005.02.15 19:35:00 |
Тогда почему этого нет в Half-Life 2? Как я уже говорил, это скоре вопрос не конкретного технического вполощения, а инертности мышления со стороны разработчиков и проявление того, что они просто о подобном не задумывались.
Буду с нетерпением ждать... |