How can I get 2d position after move camera without Render?

function getPosition(){
  camera.position.x += 1;
  renderer.render( scene , camera );

  vector = new THREE.Vector3( 0 , 0 , 0);
  vector.project( camera );

  vector.x = ( vector.x / canvas.width ) * 1920;
  vector.y =( vector.y / canvas.height ) * 1080 ;

  return vector
}

for(var i = 0; i < 9999; i++){
  getPosition()
}

How can I get 2d without renderer.render( scene , camera ); ? Thank you.

Try camera.updateMatrixWorld() before you call vector.project( camera );.

1 Like