I have some code that animates an object towards the camera and resizes it to fit half of the screen
var vFOV = camera.fov * Math.PI / 180;
var ratio = 2 * Math.tan( vFOV / 2 );
var screen = ratio * (window.innerWidth * 0.6 / window.innerHeight * 0.6) ;
var size = getCompoundBoundingBox( object ).max.y;
var width = getCompoundBoundingBox( object ).max.x;
var dist = (size/screen) * (object.scale.x * 2);
//get final position in front of camera
var pLocal = new THREE.Vector3( 0, 0, -dist );
//apply the direction the camera is facing
var target = pLocal.applyMatrix4( camera.matrixWorld );
//animate the object towards the camera
var tweenMove = new TWEEN.Tween(object.position).to(target, 1500).easing(TWEEN.Easing.Cubic.InOut);
Now, I want to be able to move the object either left or up for other UI requirements and responsiveness.
For example, moving it to the left third or top third while keeping it square onto the camera.
I've attempted changing the pLocal value to something like (1, 0, - dist) but this only causes the object to rotate when tweened upwards.
Any suggestions on how I can implement this functionality?