Box2d сопротивление ветра - PullRequest
       5

Box2d сопротивление ветра

1 голос
/ 14 августа 2011

Я хотел бы создать игру с какой-нибудь ветряной мельницей и хотеть создать ветер через гравитационный вектор b2vec2. Я не могу найти четкого объяснения по поводу сопротивления ветра. Возможно ли это с box2d? Могу я попросить вас указать мне необходимые функции и документацию, пожалуйста.

Ответы [ 2 ]

1 голос
/ 14 августа 2011

Для игр

В зависимости от игры вам может не понадобиться беспокоиться о силе сопротивления (сопротивлении ветру).Вероятно, вы можете избежать толкания объектов в направлении ветра, используя ApplyForce или возиться с гравитацией (как вы упомянули в вопросе).

Если вы действительно хотите смоделировать ветерсопротивление

Похоже, linearDampening может быть полезным, хотя и нереально.Истинное сопротивление воздуха не является линейным.

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

, которые я укралбольшая часть этой информации из этой темы:

http://www.box2d.org/forum/viewtopic.php?f=3&t=2718

Если у вас все еще есть проблемы

Я сделал некоторые предположения в своем ответе.Я предположил, что вы делаете элементарные приближения таких вещей, как сопротивление ветра и воздуха.Я также предположил, что вы на самом деле не пытаетесь смоделировать газ, толкающий вентилятор, поскольку вам, вероятно, не очень повезет, если вы сделаете это в 2D, и даже если вы попробуете, я не могу представить, чтобы это добавило много в вашу игру.1029 *

Если вы все еще в замешательстве, попробуйте добавить пример кода к вашему вопросу или опишите, что вы пытаетесь смоделировать более подробно.

1 голос
/ 14 августа 2011

То, что вы пытаетесь сделать, скорее всего, невозможно с box2d, так как это будет включать в себя физику, моделируемую в 3d, в то время как box2d выполняет только 2d физику.Если бы я был тобой, я бы просто подделал анимацию.Имея лопасти ветряной мельницы в отдельном CCSprite, чем тело ветряной мельницы, а затем вращая лопасти вокруг оси z, используя CCAnimation, которая соответствует скорости ветра.

...