# Problem with Spatial.lookAt() function

Hi, this is my problem:

I have n nodes, node i is child of node i-1 and node 0 is child of rootNode. Any node maybe has also another Spatial for child.

target is the point where I want that all the node look at.

When i call node(i).lookAt(target) for the first time everything seems to work properly but then, when i call node(i+k).lookAt(target) the Zaxis of node(i+k) don't point to target.

Do you understand the question? Sorry for my English, Thanks a lot!

Here is the code for 3 nodes:

``` public class LookAtCanvas extends SimpleGame{    @Override    protected void simpleInitGame() {              //the target to lookAt       Sphere target = new Sphere("target",10,20,1);       target.setLocalTranslation(new Vector3f(10,20,10));         Node n = new Node("nodeS");       rootNode.attachChild(target);       rootNode.updateGeometricState(0, true);              //setup the nodes with their object and debug axis       Sphere s1 = new Sphere("theSphere1",10,20,1);       Sphere s2 = new Sphere("theSphere2",10,20,1);       Sphere s3 = new Sphere("theSphere3",10,20,1);       Node n1 = new Node("theNode1");       Node n2 = new Node("theNode2");       Node n3 = new Node("theNode3");                     n1.attachChild(s1);       n2.attachChild(s2);       n3.attachChild(s3);              n1.setLocalTranslation(new Vector3f(0,3,0));       n2.setLocalTranslation(new Vector3f(0,6,0));       n3.setLocalTranslation(new Vector3f(0,9,0));                     AxisRods arA = new AxisRods("TheRodsA");       arA.setLocalScale(1);       n1.attachChild(arA);       AxisRods arB = new AxisRods("TheRodsB");       arA.setLocalScale(1);       n2.attachChild(arB);       AxisRods arC = new AxisRods("TheRodsC");       arA.setLocalScale(1);       n3.attachChild(arC);              n1.attachChild(n2);       n2.attachChild(n3);              rootNode.attachChild(n1);       rootNode.updateGeometricState(0, true);              // The first lookAt... correct       n2.lookAt(target.getWorldTranslation(), new Vector3f(0,1,0));       rootNode.updateGeometricState(0, true);       // The second lookAt... there's a problem, wrong orientation...       n3.lookAt(target.getWorldTranslation(), new Vector3f(0,1,0));       rootNode.updateGeometricState(0, true);           }        public static void main(String[] args) {       Logger.getLogger("").setLevel(Level.WARNING);       LookAtCanvas game = new LookAtCanvas();       game.setConfigShowMode(ConfigShowMode.ShowIfNoConfig);       game.start();    } } ```

and a screenshoot: 