Как вариант создайте свой OrbitControls, в конструктор добавте 3 аргумент
var OrbitControls = function ( object, domElement, followingObject ) {
if ( domElement === undefined ) console.warn( 'THREE.OrbitControls: The second parameter "domElement" is now mandatory.' );
if ( domElement === document ) console.error( 'THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.' );
this.object = object;
this.domElement = domElement;
this.followingObject = followingObject;
и в методе update
замените scope.object.lookAt( scope.target );
на
теперь при перемещении объекта камера будет нормально вращаться вокруг объекта
И не делайте никаких лишних манипуляций в animate типа смена вектора target