Java физика гелиевых шаров 3D - PullRequest
0 голосов
/ 01 мая 2020

Я пытался выяснить, как я могу создать физику гелиевых шаров, используя векторы в Java. Идея состоит в том, что игрок держит веревку, которая прикреплена к воздушному шару, наполненному гелием. Как только игрок перемещает воздушный шар, он реагирует на движение по всем трем осям.

Эта анимация является прекрасным примером того, чего я хотел бы достичь sh: https://i.imgur.com/0a1p8mo.mp4

Я пробовал этот код, но он ведет себя так, как будто он прикреплен к пружине вместо строки.

Vector to = getVectorFromTo(balloonLocation, playerLocation);
Vector playerVector = player.getVelocity();
Vector balloonVector = balloon.getVelocity();

Vector result = new Vector(
  (playerVector.getX() + to.getX()) * 0.025,
  (playerVector.getY() + to.getY()) * 0.05,
  (playerVector.getZ() + to.getZ()) * 0.025
);

result.add(new Vector(
  balloonVector.getX(),
  balloonVector.getY(),
  balloonVector.getZ()
));

balloon.setVelocity(result);

Анимация эффекта этого кода: https://i.imgur.com/7LC4uhZ.mp4

...