Сила тяжести в играх от первого лица

11

В нашей игре мы установили ускорение силы тяжести на соответствующее значение 9,8 м / с ^ 2. Несмотря на физическую корректность, это больше похоже на движение по Луне. Это похоже на правильное значение 16 м / с ^ 2. Кто-нибудь еще испытывал это? Только потому, что у нас нет размытия в движении или звука, чтобы создать ощущение скорости? Можно ли просто установить его на 16 м / с ^ 2, если он чувствует себя хорошо?

Hannesh
источник
Хороший вопрос, кстати, очень часто, чтобы увидеть это, многие люди считают, что им нужно изменить гравитацию, когда они сталкиваются с этим
Брэндон
Что-то, что, кажется, было принято - правильны ли массы вашего объекта?
DrDeth
5
масса не должна приниматься во внимание, если вы не моделируете планеты. Мрамор падает с тем же ускорением, что и шар для боулинга, игнорируя сопротивление ветра
Брэндон
2
Ваша скорость прыжка также реалистична? Если у вас гравитация 9,8 м / с ^ 2, но человек, который прыгает в 100 раз выше, гравитация будет чувствовать себя очень неправильно. Кроме того, вы уверены, что применяете ускорение в соответствующем масштабе времени?
Грегори Эйвери-Вейр

Ответы:

12

Возможно, ваш масштаб выключен. Если вы смотрите на кирпич, и кажется, что он падает медленнее, чем нужно, вы можете просто масштабировать его больше, чем кирпич. У меня была эта проблема, когда я работал над движком PhysX. Вся моя сцена была примерно в 3 раза больше, поэтому я уменьшил ее, и она сработала.

Если 16 кажется лучше, чем 9,8, но вы хотите использовать 9,8. Просто умножьте размер падающего объекта на 0,61. Что должно уменьшить его до уровня 9,8, который даст вам желаемый эффект.

Edit: Для того, чтобы исправить это. Я сделал объект, который должен быть 1 метр в высоту. Я масштабировать его до тех пор, пока, кажется, падает на правильной скорости. Какими бы ни были мировые единицы по сравнению с новой шкалой дает мне мой новый блок шкалы. Пример. Если объект был масштабирован до 0,14, то это представляет 1 метр в игровом мире. Сделайте объект линейки высотой .14, и когда вы создадите уровень, вы сможете использовать эту линейку для правильного масштабирования. Это заставит все, чтобы выглядеть, как это правильно падение на 9,8 м / сс.

Brandon
источник
Это не звучит правильно. Если вы используете постоянные единицы измерения, объект на высоте 1 метра должен упасть на землю через 0,45 секунды. Масштабирование всей вашей сцены не должно иметь значения. Возможно, вы неправильно указали свою шкалу времени на физический движок.
Каспер
5
Я не говорю о высоте, на которую вы его опускаете. Я говорю о масштабировании самого объекта. Если вы 100 футовый мужчина и прыгаете на 20% своего роста. Это займет у вас больше времени и вы почувствуете себя на Луне. С другой стороны, если вы 6-футовый человек и прыгаете на 20% своего роста, вы прыгнете намного ниже и упадете на землю намного раньше. Это определенно масштабная проблема.
Брэндон
2

Я бы сказал, идти с тем, что чувствует и играет правильно. Тем не менее, было бы лучше, если бы вы использовали правильное значение - если только так вы или другие разработчики не имеют WTF момент, когда вы Пересмотреть код 6 месяцев вниз по линии.

Не забывайте, что ваша реализация физики только когда-либо будет приближение реального мира, и что иногда получая вещи «слишком близко» к реальности делает игру невозможно играть. Также может быть что-то еще в вашей симуляции, которая "выключена". Еще раз проверьте это.

Несколько лет назад я занимался симулятором вертолета, и клиент хотел, чтобы управление было «реалистичным». Это не удалось, потому что это было невозможно играть. Упрощение управления сделало игру доступной.

ChrisF
источник
1

Моделируя все в метрической системе, я также заметил, что гравитация кажется слишком слабой в отношении прыжка игрока (в платформере). Очень похоже на «на луне», «желе», «слишком много фитики», а не на «аркаду». С другой стороны, игроки в играх также могут регулярно прыгать на нереальные высоты.

TLDR: высокая гравитация ощущается в очень быстром темпе и аркаде, реалистичная гравитация иногда может не дать желаемого игрового опыта.

Йонас Бетел
источник