2013-05-03 3 views
0

Предположим, я хочу создать простой физический объект с формой «matryoshka» или банальным снеговиком. Как я вижу, у меня есть два варианта:
1. Чтобы создать два круга (или могут быть обычными) и подключить их к сварному соединению, или
2. Чтобы создать одно тело с двумя кругами (или может быть обычным) образует в нем.

Итак, вопрос: что более дорого для ЦП: тела, связанные с суставами или корпусами сложной формы. Если у меня есть один объект, возможно, я не чувствую разницы в производительности, но что, если у меня есть много объектов этого типа?
Я знаю, что суставы дороги, но могут быть изготовленные на заказ тела, более дорогие? Я работаю с Box2dFlash.Нестандартная форма корпуса или корпуса Box2d

+0

Насколько я знаю, у вас может быть несколько форм на тело, без необходимости суставов. – philipp

ответ

1

Поскольку вопрос касается использования ЦП, суставы используют больше процессора, чем только формы без соединения. Формы кругов во многих случаях могут быть более эффективными, чем многоугольники, но не все. Для оптимизации процессора используйте как можно меньше тел и как можно более простые полигоны. Для каждой нормали, определенной в многоугольнике, может потребоваться расчет, если объект перекрывается с другим. Для кругов требуется максимум один расчет.

В стороне, если у вас нет проблем с производительностью, вам не следует беспокоиться о том, являются ли ваши фигуры идеей использования ЦП. Вместо этого вы должны спросить, является ли симуляция тем, что вы хотите. Box2D содержит множество специальных оптимизаций для того, чтобы сделать его плавным. Вы также можете уменьшить его точность за галочку, установив переменные скорости и позиции. Это будет иметь гораздо большее влияние на эффективность, чем геометрия, если ваша геометрия не является чрезвычайно сложной.

+0

спасибо, я думаю, мне нужно сделать некоторые тесты, как многие снеговики падают и сталкиваются, я просто устарел и не знаком с диагностическими инструментами, такими как Scout и т. Д. – Cherniv

+0

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

1

Если вы не хотите, чтобы два участка тела снеговика двигались относительно друг друга, то одно тело - это путь. В идеале вы идеально определяете форму (и) столкновения, так что абсолютно никакой выгоды от использования сварного шва.

Подумайте об этом так: если вы используете (a) сварные швы, формы столкновения будут не менее сложными, чем если бы вы просто приблизили геометрию столкновений для одного тела; он по-прежнему потребует либо множественных форм столкновения, либо одну сложную форму столкновения, независимо от вашего выбора. Сварка просто добавит дополнительный шаг.

Если вам нужно, чтобы тело снеговика было динамичным в любом случае (разломано или гибко), тогда сварка или регулярное соединение - это путь.

Смежные вопросы