Так как я обнаружил Box2D , я использую его для любого игрового приложения, которое я пытаюсь написать, от очень маленьких прототипов или небольших программ для тестирования чего-либо до реальных проектов.
Благодаря этому так ужасно легко справиться с чем угодно - от столкновений до реальной физики.
Иногда, однако, у меня есть некоторые сомнения по этому поводу: если мне нужно только обрабатывать круги или AABB, и мне не нужны продвинутые физические инструменты (соединения или тому подобное), я думаю, что физический движок может добавить что-то большое, ненужные накладные расходы.
Чтобы переформулировать мой вопрос: вы бы использовали Box2D (или другие физические движки) в игре, где физика действительно проста (например, Super Mario)? И если нет, то почему?
Ответы:
Если память, дисковое пространство, усилия по разработке или процессорное время, используемые для Box2D, слишком велики для ваших целей, не используйте их. В противном случае, нет причин избегать этого, если вы сочтете это полезным.
источник
Что-то такое же простое, как у Super Mario, нет, так как на самом деле не так много физики (Марио не влияет на физику другого объекта при прыжках)
если вы используете физику в смысле нескольких предметов (более одного), используя физику для воздействия на результат других объектов, то я бы использовал движок.
источник
Мой ответ - да, просто используйте физический движок, такой как Box2D, для простых вещей, потому что вы не должны тратить лишнее время на разработку некоторых функций, которые вы быстро получаете из физического движка. Например, определите статическое тело и поместите на него динамическое тело, и примените силу к вашему динамическому телу для направленного ввода, и через несколько минут вы получите платформер. Я не думаю, что двигатель добавляет достаточно накладных расходов, чтобы это не стоило того.
источник
Если «физика» в игре проста, нет необходимости импортировать физический движок.
Я свободно использую термин физика, так как есть разница между моделированием физики и моделированием физики. Очень важная вещь для дифференциации.
Например, в Mario Bros. при запуске и остановке вы будете немного скользить. Подумайте, как вы могли бы это реализовать.
Вы можете смоделировать это, определив все необходимые переменные: например. масса, сила тяжести, коэффициент трения, тяги и т. д., а затем вычисление вашей новой скорости, ускорения и т. д.
но стоит ли это того? Вы можете симулировать тот же эффект, уменьшая скорость игроков, когда они не двигаются ...
Что-то вроде:
Разница в том, что одна физика, а другая нет. Есть плюсы и минусы для обоих. Но, как правило, для простых игр подделать его гораздо проще.
источник
Вы должны решить в зависимости от ситуации
Плюсы, использующие ваш собственный движок
Плюсы готового физического движка:
источник