Set Child Object property in relation the Scene rather than Parent object

I am creating a bookshelf and want the book to come close onClick, but because the books are added as objects to their respective shelf, this makes the book come ahead only of their separate shelves and not at the center of the screen.

`import * as THREE from 'three';
import * as TWEEN from '@tweenjs/tween.js'
import { OrbitControls } from 'three/examples/jsm/controls/orbitcontrols';
import bg1 from '../images/bookcovers/cover1.jpg';
import bg2 from '../images/bookcovers/cover2.jpg';
import bg3 from '../images/bookcovers/cover3.jpg';
import bg4 from '../images/bookcovers/cover4.jpg';
import whitebg from '../images/bookcovers/whitebg.jpg';

const renderer=new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth,window.innerHeight);
document.body.appendChild(renderer.domElement);
const textureLoader=new THREE.TextureLoader();
const scene=new THREE.Scene();

const camera=new THREE.PerspectiveCamera(
    75,
    window.innerWidth/window.innerHeight,
    0.1,
    1000
);
// PerspectiveCamera( fov : Number, aspect : Number, near : Number, far : Number )
// fov — Camera frustum vertical field of view.
// aspect — Camera frustum aspect ratio.
// near — Camera frustum near plane.
// far — Camera frustum far plane.


const orbit=new OrbitControls(camera,renderer.domElement);
camera.position.set(0,6,15); //x,y,z
// Yes the lookAt method is use to set the camera looking position
// So if you set the camera position to camera.position.set(10,10,10) , so now the camera is at 10 units from each axis.

// camera.lookAt(new THREE.Vector3(1,1,1))

// It means whatever the camera position it always look at point (1,1,1)
orbit.update();
const rayCaster=new THREE.Raycaster();
const boxGeometry=new THREE.BoxGeometry(10,15,2);
const boxMaterial=new THREE.MeshStandardMaterial({color:'#966F33',wireframe:true,transparent:true});
const box=new THREE.Mesh(boxGeometry,boxMaterial);
scene.add(box);



const mousePosition=new THREE.Vector2();
window.addEventListener('click',(e)=>{
    mousePosition.x=(e.clientX/window.innerWidth)*2-1;
    mousePosition.y=-(e.clientY/window.innerHeight)*2+1;
});


function createdividers(x,y,z,positon,bookcover)
{
    const dividerGeometry=new THREE.BoxGeometry(x,y,z);
    const dividerMaterial=new THREE.MeshStandardMaterial({color:'blue'});
    const obj=new THREE.Object3D();
    const divider=new THREE.Mesh(dividerGeometry,dividerMaterial);
    obj.add(divider);
    box.add(obj);
    createBooks(divider,bookcover)
    divider.position.set(0,positon,0)
}
let id_book=[];
function createBooks(divider,bookcover)
{
    let diff=0;
    const box2MultiMaterial=[
        new THREE.MeshBasicMaterial({map:textureLoader.load(bookcover)}),
        new THREE.MeshBasicMaterial({map:textureLoader.load(bookcover)}),
        new THREE.MeshBasicMaterial({map:textureLoader.load(whitebg)}),
        new THREE.MeshBasicMaterial({map:textureLoader.load(whitebg)}),
        new THREE.MeshBasicMaterial({map:textureLoader.load(bookcover)}),
        new THREE.MeshBasicMaterial({map:textureLoader.load(whitebg)})
     ] ;
    
    for(let i=0;i<4;i++)
    {
        const bookGeometry=new THREE.BoxGeometry(0.5,2,2);
        const bookMaterial=new THREE.MeshStandardMaterial({map:textureLoader.load(bookcover),transparent:true});
        const book=new THREE.Mesh(bookGeometry,box2MultiMaterial);    
        book.position.set(-4+diff,1.2,0);
        diff+=2.5;
        divider.add(book);
        id_book.push(book.id);
    }
}
const div1=createdividers(10,0.2,2,5,bg1);
const div2=createdividers(10,0.2,2,2,bg2);
const div3=createdividers(10,0.2,2,-1,bg3);
const div4=createdividers(10,0.2,2,-4,bg4);






const PlaneGeometry=new THREE.PlaneGeometry(30,30);
const PlaneMaterial=new THREE.MeshStandardMaterial({color:0xFFFFFF,side:THREE.DoubleSide});
const plane=new THREE.Mesh(PlaneGeometry,PlaneMaterial);
// scene.add(plane)
plane.rotation.x=-0.5*Math.PI;
plane.receiveShadow=true;

const ambientLight=new THREE.AmbientLight(0x333333,5);
scene.add(ambientLight);


// const directionalLight=new THREE.DirectionalLight(0xFFFFFF,4);
// scene.add(directionalLight)
// directionalLight.position.set(10,100,10);


// const dLightHelper=new THREE.DirectionalLightHelper(directionalLight,5);
// scene.add(dLightHelper)

// const dLightShadowHelper=new THREE.CameraHelper(directionalLight.shadow.camera);
// scene.add(dLightShadowHelper);

// scene.background=textureLoader.load(bg2);
const spotLight=new THREE.SpotLight(0xFFFFFF);
spotLight.position.set(-3,10,3);

scene.add(spotLight);

const sLightHelper=new THREE.SpotLightHelper(spotLight);
// scene.add(sLightHelper)
spotLight.castShadow=true;
spotLight.angle=180;

function animate(time)
{

    TWEEN.update();
    rayCaster.setFromCamera(mousePosition,camera);
     const intersects=rayCaster.intersectObjects(scene.children);     
     for(let i=0;i<intersects.length;i++)
     {
        if(id_book.includes(intersects[i].object.id))
        {            

            
            const tween1=new TWEEN.Tween({x:0,y:0,z:0}).to({x:0,y:0,z:12},500);
            tween1.onUpdate(function (object={
                x:number,
                y:number,
                z:number,
            },elapsed=number){                
                intersects[i].object.position.x=object.x;
                intersects[i].object.position.y=object.y;                
                intersects[i].object.position.z=object.z;                                    
                intersects[i].object.rotation.y=30;
            })
            console.log(intersects[i].object)
            tween1.start();            
        }
        // if(intersects[i].object.name==='TheBox')
        // {          
        //     box2.rotation.x=time/1000;
        //     box2.rotation.y=time/1000;
        // }        
        
     }


    renderer.render(scene,camera);
}


renderer.setAnimationLoop(animate)

renderer.render(scene,camera);
`