private void createCameraMotion() { CameraNode camNode = cinematic.bindCamera("topView", cam); camNode.setLocalTranslation(new Vector3f(0, 50, 0)); camNode.lookAt(teapot.getLocalTranslation(), Vector3f.UNIT_Y); CameraNode camNode2 = cinematic.bindCamera("aroundCam", cam); path = new MotionPath(); path.setCycle(true); path.addWayPoint(new Vector3f(20, 3, 0)); path.addWayPoint(new Vector3f(0, 3, 20)); path.addWayPoint(new Vector3f(-20, 3, 0)); path.addWayPoint(new Vector3f(0, 3, -20)); path.setCurveTension(0.83f); cameraMotionEvent = new MotionEvent(camNode2, path); cameraMotionEvent.setLoopMode(LoopMode.Loop); cameraMotionEvent.setLookAt(model.getWorldTranslation(), Vector3f.UNIT_Y); cameraMotionEvent.setDirectionType(MotionEvent.Direction.LookAt); }
cam.setLocation(new Vector3f(8.4399185f, 11.189463f, 14.267577f)); path = new MotionPath(); path.addWayPoint(new Vector3f(10, 3, 0)); path.addWayPoint(new Vector3f(10, 3, 10)); path.addWayPoint(new Vector3f(-40, 3, 10)); path.addWayPoint(new Vector3f(-40, 3, 0)); path.addWayPoint(new Vector3f(-40, 8, 0)); path.addWayPoint(new Vector3f(10, 8, 0)); path.addWayPoint(new Vector3f(10, 8, 10)); path.addWayPoint(new Vector3f(15, 8, 10)); path.enableDebugShape(assetManager, rootNode);
path = new MotionPath(); path.setCycle(true); path.addWayPoint(new Vector3f(20, 3, 0)); path.addWayPoint(new Vector3f(0, 3, 20)); path.addWayPoint(new Vector3f(-20, 3, 0)); path.addWayPoint(new Vector3f(0, 3, -20)); path.setCurveTension(0.83f); path.enableDebugShape(assetManager, rootNode);
path.addWayPoint(new Vector3f(1.1f, 1.2f, 2.9f)); path.addWayPoint(new Vector3f(0f, 1.2f, 3.0f)); path.addWayPoint(new Vector3f(-1.1f, 1.2f, 2.9f)); path.enableDebugShape(assetManager, rootNode); path.setCurveTension(0.8f);
path.addWayPoint(new Vector3f(waypoint.myCoordinates[0], waypoint.myCoordinates[1], waypoint.myCoordinates[2]));
path.addWayPoint(entry.getPosition().mult(MapLoader.TILE_WIDTH).addLocal(startLocation));