У мене є базовий контролер символів, створений для 2D-платформи з Box2D, і я починаю налаштовувати його, щоб спробувати зробити це добре. У фізичних двигунів є багато ручок для підключення, і мені не зрозуміло, вперше пишу з двигуном фізики, якими саме я повинен користуватися. Чи слід стрибати застосувати силу для кількох кліщів? Імпульс? Прямо встановлена швидкість? Як я зупиняю аватар, щоб він не прилипав до стін, не віднімаючи все його тертя (або я забираю все тертя, але тільки в повітрі)? Чи варто моделювати персонажа як капсулу? Ящик із закругленими кутами? Коробка з двома колесами? Всього одне велике колесо? Я відчуваю, що хтось, мабуть, робив це раніше!
Здається, в Інтернеті є дуже мало ресурсів, які не є "першою фізикою дитини", і все це відсікається там, де я сподіваюся, що хтось уже вирішив питання. Більшість прикладів фізичних двигунів для платформерів мають плаваюче відчуття, або стрибки в повітрі, або легко експлуатаційну поведінку, коли тимчасове проникнення занадто велике тощо.
Деякі приклади того, що я маю на увазі:
- Короткий дотик стрибка стрибає на невелику відстань; довгий кран стрибає вище.
- Коротке ковзання при зупинці або перевороті напрямків з великою швидкістю.
- Стоять стійко на нахилах (але, можливо, ковзаючи ними вниз, коли качають).
- Аналогова швидкість при використанні аналогового контролера.
- Всі інші речі, що відрізняють хороших платформерів від поганих платформерів.
- Смію запропонувати стабільні платформи, що рухаються?
Я не дуже шукаю "ей, роби це". Очевидно, що правильна річ залежить від того, що я хочу в грі. Але я сподіваюся, що хтось десь переглянув можливості і сказав: "добре техніка A має функцію X добре, техніка B добре Y, але це не працює з C", або є кілька відпрацьованих прикладів поза "if (key = = пробіл) символ.імпульс (0, 1) "