Я пытался выяснить, как я могу создать физику гелиевых шаров, используя векторы в 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