Годо: как реализовать 2d фиксированное соединение? - PullRequest
0 голосов
/ 01 мая 2019

Итак, я начинаю с Годо, опираясь на физический движок (на основе RigidBody2D) для двухмерной космической игры сверху вниз.Отчасти идея заключается в том, что космические корабли являются модульными, то есть детали могут быть собраны по-разному для создания разных кораблей.Это все еще на ранних стадиях, но сейчас я смотрю на то, как лучше всего прикрепить эти разные части.Ранее я реализовал вращающуюся пушку и прикрепил ее к кораблю с помощью Joint2D, и это хорошо работает, но для невращающихся деталей Годо не имеет «неподвижного» соединения как такового.Единственный способ, которым я видел до сих пор фиксированное соединение, это два штифтовых соединения с некоторым расстоянием между ними.(Да, для фона в области машиностроения).

Но я вижу несколько проблем с этим: (1) то, что многие суставы могут добавить дополнительную вычислительную нагрузку, когда я создаю все больше и больше ремесел (видя, как все яхочу, чтобы это действовало как единое твердое тело), ​​(2) это больше работы, чтобы на самом деле собрать детали (в конце концов я надеюсь добавить редактор корабля и присоединить детали программно - я понимаю, что это будет довольно легкочтобы решить), (3) я собираюсь столкнуться с проблемами со сложными сборками позже, и (4) насколько хорошо физический движок будет обрабатывать такие сборки?

Буду ли я лучше иметьНе движущиеся части корабля добавляются как часть одного и того же твердого тела, а не как отдельные части?Однако, если я сделаю это, будут ли такие вещи, как потеря модуля, наличие отдельных точек попадания для каждой части и т. Д., Оказаться более сложными?

Я не уверен, что хочу сделать эту последнюю часть, но как насчетполужесткие (то есть гибкие) соединения?Другими словами, гибкий космический корабль?(Ранняя версия игровой концепции заключалась в том, чтобы использовать настоящую физику с нуля - включая такие вещи, как различные способы разрушения материала - но мягкие тела трудны, поэтому я не собираюсь туда ... по крайней мере, не в обозримом будущем!)

1 Ответ

0 голосов
/ 01 мая 2019

Нет необходимости в фиксированном соединении в Годо. Вы можете добавить несколько форм столкновения в RigidBody2D.

Итак, добавьте все ваши формы столкновений - вместе с любыми дополнительными спрайтами - под узлом RigidBody2D, и все они будут действовать вместе как один твердый объект.

...