Я создал MotionPath для своего Пространства, добавив путевые точки. Это работает нормально, когда я делаю что-то вроде этогоКак сделать непрерывную MotionPath?
path.addWayPoint(new Vector3f(0, 0, 0));
path.addWayPoint(new Vector3f(2, 0, 0));
path.addWayPoint(new Vector3f(4, 0, 0));
path.addWayPoint(new Vector3f(6, 0, 0));
Я хотел, чтобы переместить его динамически, поставив точки маршрута в методе как этот
public void moveSpatial(float x) {
Vector3f currentTranslation = spatial.getLocalTranslation();
path.addWayPoint(currentTranslation.x, 0, 0);
path.addWayPoint(currentTranslation.x + x, 0, 0);
}
и в методе simpleUpdate я добавил
spatial.setLocalTranslation(new Vector3f(newX, 0, 0);
, где
float newX = currentTranslation.x + x;
теперь анимация (плавный ход) работает, НО каждый раз, когда я вызываю метод moveSpatial, пространственный сначала переходит в исходную точку Vector3f (0, 0, 0), а затем он перемещается по точкам. (0, 0, 0) - это позиция, заданная для пространственного при запуске приложения. Я хотел бы сделать движение с последней позиции, где пространственное завершение его движения. Как это сделать?
Я думаю, это связано с вашим другим вопросом на http://stackoverflow.com/questions/30479970/smooth-translation-combined-with -компании? Я думаю, что это странный подход к вашей проблеме. Вместо этого я попытаюсь внести что-то в исходное сообщение. – 1000ml