Camera Node Problems

Hey guys, I’ve recently started using this intuitive and practical engine to learn about 3d-games. I’m still at level retard when it comes to grander understanding of things, but I’m getting there. However yesterday i ran into a very annoying and persistent problem that I just can’t seem to solve on my own, I’ve looked through the tutorials on the wiki and several threads on this fine forum but to no avail.

The problem manifests itself in me not being able to control the camera attached to the character I’m using (in first person mode) . I can move the character and the camera follows, but i cant look around as a character in a game should be able to do. It worked with CharacterControl but is not working now when I tried to switch to BetterCharacterControl.

I’m honestly completely dumbfounded by this so I’m asking you wizards for help, I hope this isn’t too redundant a thread.

Here’s my code:

[java]world = new World(this, this.getRootNode());
bulletAppState = new BulletAppState();
setupKeys();
flyCam.setEnabled(false);

    stateManager.attach(bulletAppState);
    //playerstuff
    characterNode = new Node("character node");
    characterNode.setLocalTranslation(new Vector3f(4, 5, 2));
    
    player = new BetterCharacterControl(1f, 2f, 10f);
    characterNode.addControl(player);
    bulletAppState.getPhysicsSpace().add(player);
    camNode = new CameraNode("CamNode", cam);
    camNode.setControlDir(ControlDirection.SpatialToCamera);
    camNode.setLocalTranslation(new Vector3f(0, 2f, 0));
    
    characterNode.attachChild(camNode);
    camNode.setEnabled(true);
    rootNode.attachChild(characterNode);
    player.setGravity(new Vector3f(0f,-15f,0f));
   

    //terrainstuff

    landscape = world.getLandscape();   
    bulletAppState.getPhysicsSpace().add(landscape);
    bulletAppState.getPhysicsSpace().add(player);[/java] 

and this is in the update method:

[java]public void simpleUpdate(float tpf) {
Vector3f camDir = cam.getDirection().clone().multLocal(10f);
Vector3f camLeft = cam.getLeft().clone().multLocal(10f);

    walkDirection.set(0, 0, 0);
    walkDirection.set(0, 0, 0);
    if (forward) {
        walkDirection.addLocal(camDir);
    } if (left) {
        walkDirection.addLocal(camLeft);
    } if (right) {
        walkDirection.addLocal(camLeft.negate());
    } if (backward) {
        walkDirection.addLocal(camDir.negate());
    } 
    
    player.setWalkDirection(walkDirection);
    player.setViewDirection(viewDirection);
    

} [/java]

Alright so I solved it by changing it all to chasecamera instead and making max zoom out 0.