¿Por qué lookAt no está mirando el vector especificado?

Tengo esta escena de tres js:http://codepen.io/giorgiomartini/pen/ZWLWgX

La escena contiene 5 cosas:

Cámara - No visible

origen (Vector 3D): a 0,0,0.

objOne - Verde

objParent - Rojo

CenterOfscene - azul

objOne es hijo de objParent. Y ObjOne se ve en origen, que es un vector 3d a 0,0,0.

Pero el objOne en lugar de mirar el 0,0,0. donde está el vector de origen, mira objParent ....?

¿Tienes alguna idea?

Lo que quiero es que el objOne mire el 0,0,0. Cuál es el vector de origen.

¿Alguna idea de por qué esto se está portando mal? Gracias.

THREE.SceneUtils.detach( objOne, objParent, scene );
THREE.SceneUtils.attach( objOne, scene, objParent );

var origen = new THREE.Vector3( 0, 0, 0 );

var render = function () {
    objOne.lookAt(origen);
    requestAnimationFrame( render );

    xOffset += 0.01;
    yOffset += 0.011;
    zOffset += 0.012;

    xOffsetParent += 0.0011;
    yOffsetParent += 0.0013;
    zOffsetParent += 0.0012;

    camXPos = centeredNoise(-1,1,xOffset);
    camYPos = centeredNoise(-1,1,yOffset);
    camZPos = centeredNoise(-1,1,zOffset);
    objOne.position.x = camXPos*4;
    objOne.position.y = camYPos*4;
    objOne.position.z = camZPos*4;

    camParentXPos = centeredNoise(-1,1,xOffsetParent);
    camParentYPos = centeredNoise(-1,1,yOffsetParent);
    camParentZPos = centeredNoise(-1,1,zOffsetParent);
    objParent.position.x = camParentXPos*10;
    objParent.position.y = camParentYPos*10;
    objParent.position.z = camParentZPos*10;

    renderer.render(scene, camera);
};

render();

Respuestas a la pregunta(2)

Su respuesta a la pregunta