2014-11-22 3 views
0

Как физический движок SpriteKit (Box2d) перемещает тела и прикладывает к ним гравитацию? это просто стандарт:Как физика SpriteKit двигает тела?

velocity = velocity + gravity 
position = position + velocity * deltaTime 

или есть более сложное уравнение.
Я спрашиваю об этом, потому что я пытаюсь вычислить траекторию тела и построить его.

+0

скорость = скорость + сила тяжести * deltaTime – 0x141E

ответ

1

Упрощенный, это правильно. Однако могут быть другие силы, действующие на тело (столкновения, стыки) и пороги (т. Е. Остановка движения, если скорость ниже порога и т. Д.) И ошибки округления с плавающей запятой могут складываться.

Так что если вы ищете прямой расчет, это зависит от того, насколько точно он должен быть.

Наиболее точным вариантом было бы фактически запустить симуляцию, чтобы продвинуть ее, чтобы увидеть, где будут тела. Однако, поскольку SK не дает вам источники Box2D, это невозможно сделать, то есть вы не можете скопировать мирового состояния и продвигать его вручную в копии текущего мира.

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