/** * Binds a camera to this cinematic, tagged by a unique name. This methods * creates and returns a CameraNode for the cam and attach it to the scene. * The control direction is set to SpatialToCamera. This camera Node can * then be used in other events to handle the camera movements during the * playback * * @param cameraName the unique tag the camera should have * @param cam the scene camera. * @return the created CameraNode. */ public CameraNode bindCamera(String cameraName, Camera cam) { if (cameras.containsKey(cameraName)) { throw new IllegalArgumentException("Camera " + cameraName + " is already binded to this cinematic"); } CameraNode node = new CameraNode(cameraName, cam); node.setControlDir(ControlDirection.SpatialToCamera); node.getControl(CameraControl.class).setEnabled(false); cameras.put(cameraName, node); scene.attachChild(node); return node; }
private void parseCamera(Attributes attribs) throws SAXException { camera = new Camera(DEFAULT_CAM_WIDTH, DEFAULT_CAM_HEIGHT); if (SAXUtil.parseString(attribs.getValue("projectionType"), "perspective").equals("parallel")){ camera.setParallelProjection(true); } float fov = SAXUtil.parseFloat(attribs.getValue("fov"), 45f); if (fov < FastMath.PI) { // XXX: Most likely, it is in radians.. fov = fov * FastMath.RAD_TO_DEG; } camera.setFrustumPerspective(fov, (float)DEFAULT_CAM_WIDTH / DEFAULT_CAM_HEIGHT, 1, 1000); cameraNode = new CameraNode(attribs.getValue("name"), camera); cameraNode.setControlDir(ControlDirection.SpatialToCamera); node.attachChild(cameraNode); node = null; }
Camera cam = fetchFromCache("cameras", camIndex, Camera.class); CameraNode node = new CameraNode(null, cam); node.setControlDir(CameraControl.ControlDirection.SpatialToCamera); spatial = node; } else {
@Override public void initialize(AppStateManager stateManager, Application app) { super.initialize(stateManager, app); this.inputManager = app.getInputManager(); target = new Node("ChaseCamTarget"); camNode.setCamera(app.getCamera()); camNode.setControlDir(CameraControl.ControlDirection.SpatialToCamera); target.attachChild(camNode); camNode.setLocalTranslation(0, 0, distance); upVector = app.getCamera().getUp().clone(); leftVector = app.getCamera().getLeft().clone(); registerWithInput(); rotateCamera(); }
@Override public void simpleInitApp() { // activate physics bulletAppState = new BulletAppState(); stateManager.attach(bulletAppState); // init a physical test scene PhysicsTestHelper.createPhysicsTestWorldSoccer(rootNode, assetManager, bulletAppState.getPhysicsSpace()); setupKeys(); // Add a physics character to the world physicsCharacter = new CharacterControl(new CapsuleCollisionShape(0.5f, 1.8f), .1f); physicsCharacter.setPhysicsLocation(new Vector3f(0, 1, 0)); characterNode = new Node("character node"); Spatial model = assetManager.loadModel("Models/Sinbad/Sinbad.mesh.xml"); model.scale(0.25f); characterNode.addControl(physicsCharacter); getPhysicsSpace().add(physicsCharacter); rootNode.attachChild(characterNode); characterNode.attachChild(model); // set forward camera node that follows the character camNode = new CameraNode("CamNode", cam); camNode.setControlDir(ControlDirection.SpatialToCamera); camNode.setLocalTranslation(new Vector3f(0, 1, -5)); camNode.lookAt(model.getLocalTranslation(), Vector3f.UNIT_Y); characterNode.attachChild(camNode); //disable the default 1st-person flyCam (don't forget this!!) flyCam.setEnabled(false); }
camNode.setControlDir(ControlDirection.SpatialToCamera);
camNode.setControlDir(ControlDirection.SpatialToCamera); camNode.setLocalTranslation(new Vector3f(0, 2, -6)); Quaternion quat = new Quaternion();
cam.setLocation(new Vector3f(8.4399185f, 11.189463f, 14.267577f)); camNode = new CameraNode("Motion cam", cam); camNode.setControlDir(ControlDirection.SpatialToCamera); camNode.setEnabled(false); path = new MotionPath();
private static CameraNode createCameraNode(Camera smartPhoneCamera) { CameraNode camNode = new CameraNode("Camera Node", smartPhoneCamera); camNode.setControlDir(CameraControl.ControlDirection.SpatialToCamera); camNode.setLocalTranslation(new Vector3f(0, 0, 0)); return camNode; } }
private CameraNode createCameraNode(Camera smartPhoneCamera) { CameraNode camNode = new CameraNode("Camera Node", smartPhoneCamera); camNode.setControlDir(CameraControl.ControlDirection.SpatialToCamera); camNode.setLocalTranslation(new Vector3f(0, 0, 0)); return camNode; }
private CameraNode createCameraNode(Camera smartPhoneCamera) { CameraNode camNode = new CameraNode("Camera Node", smartPhoneCamera); camNode.setControlDir(CameraControl.ControlDirection.SpatialToCamera); camNode.setLocalTranslation(new Vector3f(0, 0, 0)); return camNode; }
private CameraNode createCameraNode(Camera smartPhoneCamera) { CameraNode camNode = new CameraNode("Camera Node", smartPhoneCamera); camNode.setControlDir(CameraControl.ControlDirection.SpatialToCamera); camNode.setLocalTranslation(new Vector3f(0, 0, 0)); return camNode; }
/** * Binds a camera to this cinematic, tagged by a unique name. This methods * creates and returns a CameraNode for the cam and attach it to the scene. * The control direction is set to SpatialToCamera. This camera Node can * then be used in other events to handle the camera movements during the * playback * * @param cameraName the unique tag the camera should have * @param cam the scene camera. * @return the created CameraNode. */ public CameraNode bindCamera(String cameraName, Camera cam) { if (cameras.containsKey(cameraName)) { throw new IllegalArgumentException("Camera " + cameraName + " is already binded to this cinematic"); } CameraNode node = new CameraNode(cameraName, cam); node.setControlDir(ControlDirection.SpatialToCamera); node.getControl(CameraControl.class).setEnabled(false); cameras.put(cameraName, node); scene.attachChild(node); return node; }
private void parseCamera(Attributes attribs) throws SAXException { camera = new Camera(DEFAULT_CAM_WIDTH, DEFAULT_CAM_HEIGHT); if (SAXUtil.parseString(attribs.getValue("projectionType"), "perspective").equals("parallel")){ camera.setParallelProjection(true); } float fov = SAXUtil.parseFloat(attribs.getValue("fov"), 45f); if (fov < FastMath.PI) { // XXX: Most likely, it is in radians.. fov = fov * FastMath.RAD_TO_DEG; } camera.setFrustumPerspective(fov, (float)DEFAULT_CAM_WIDTH / DEFAULT_CAM_HEIGHT, 1, 1000); cameraNode = new CameraNode(attribs.getValue("name"), camera); cameraNode.setControlDir(ControlDirection.SpatialToCamera); node.attachChild(cameraNode); node = null; }
private void parseCamera(Attributes attribs) throws SAXException { camera = new Camera(DEFAULT_CAM_WIDTH, DEFAULT_CAM_HEIGHT); if (SAXUtil.parseString(attribs.getValue("projectionType"), "perspective").equals("parallel")){ camera.setParallelProjection(true); } float fov = SAXUtil.parseFloat(attribs.getValue("fov"), 45f); if (fov < FastMath.PI) { // XXX: Most likely, it is in radians.. fov = fov * FastMath.RAD_TO_DEG; } camera.setFrustumPerspective(fov, (float)DEFAULT_CAM_WIDTH / DEFAULT_CAM_HEIGHT, 1, 1000); cameraNode = new CameraNode(attribs.getValue("name"), camera); cameraNode.setControlDir(ControlDirection.SpatialToCamera); node.attachChild(cameraNode); node = null; }
private void parseCamera(Attributes attribs) throws SAXException { camera = new Camera(DEFAULT_CAM_WIDTH, DEFAULT_CAM_HEIGHT); if (SAXUtil.parseString(attribs.getValue("projectionType"), "perspective").equals("parallel")){ camera.setParallelProjection(true); } float fov = SAXUtil.parseFloat(attribs.getValue("fov"), 45f); if (fov < FastMath.PI) { // XXX: Most likely, it is in radians.. fov = fov * FastMath.RAD_TO_DEG; } camera.setFrustumPerspective(fov, (float)DEFAULT_CAM_WIDTH / DEFAULT_CAM_HEIGHT, 1, 1000); cameraNode = new CameraNode(attribs.getValue("name"), camera); cameraNode.setControlDir(ControlDirection.SpatialToCamera); node.attachChild(cameraNode); node = null; }
@Override public Void call() throws Exception { camNode.setLocalTranslation(cineCam.getLocation()); camNode.setLocalRotation(cineCam.getRotation()); camNode.setControlDir(ControlDirection.SpatialToCamera); rrc.getJme3RootDeepNode(null).attachChild(camNode); return null; } });
@Override public Void call() throws Exception { //Move camNode, e.g. behind and above the target: camNode.setLocalTranslation(new Vector3f(0, 5, -5)); // ... for initial hack-up; probably these offsets need to come from GoodyActionExtractor //Rotate the camNode to look at the target: camNode.lookAt(goodyNode.getLocalTranslation(), Vector3f.UNIT_Y); //This mode means that camera copies the movements of the target: camNode.setControlDir(ControlDirection.SpatialToCamera); //Attach the camNode to the Goody Node: goodyNode.attachChild(camNode); //And the root node -- required? getRenderRegCli().getJme3RootDeepNode(null).attachChild(camNode); return null; } }, qStyle);
@Override public void initialize(AppStateManager stateManager, Application app) { super.initialize(stateManager, app); this.inputManager = app.getInputManager(); target = new Node("ChaseCamTarget"); camNode.setCamera(app.getCamera()); camNode.setControlDir(CameraControl.ControlDirection.SpatialToCamera); target.attachChild(camNode); camNode.setLocalTranslation(0, 0, distance); upVector = app.getCamera().getUp().clone(); leftVector = app.getCamera().getLeft().clone(); registerWithInput(); rotateCamera(); }
camNode.setControlDir(CameraControl.ControlDirection.SpatialToCamera); camNode.setLocalTranslation(new Vector3f(0, height, distance)); camNode.lookAt(screenQR.getWorldTranslation(), Vector3f.UNIT_Y);