I do make 3d object dynmaic and i want perspective camera zoom to fit object but it doesn't work and i don't know how to i want help please!!!
dynamic object add is this
enter code here
function plusobject(witch,clicknum) {
//var geometry = new THREE.BoxGeometry( 5,5,5 );
var geometry = new THREE.RingBufferGeometry( 2.4, 6,30,1,0,6.3 );
//var geometry = new THREE.RingGeometry( 2.4, 6,30,1,0,6.3 );
var material = new THREE.MeshBasicMaterial( { color: 0x610B38 } );
material.side = THREE.DoubleSide;
var mesh3 = new THREE.Mesh( geometry, material );
mesh3.name = clicknum;
mesh3.userData.id = clicknum;
witch.x += 3;
witch.y += 5;
witch.z += 3;
mesh3.position.set(witch.x , witch.y, witch.z);
mesh3.castShadow = true;
mesh3.receiveShadow = true;
scene.add( mesh3 );
} // plusobject END
and i do raycasting mouse down event and i want zoom to fit object code is
enter code here
function onDocumentMouseDown(event) {
event.preventDefault();
mouse = new THREE.Vector2();
var rect = renderer.domElement.getBoundingClientRect();
mouse.x = ( ( event.clientX - rect.left ) / rect.width ) * 2 - 1;
mouse.y = - ( ( event.clientY - rect.top ) / rect.height ) * 2 + 1;
var vector = new THREE.Vector3(mouse.x, mouse.y, 0.5);
vector = vector.unproject(camera);
var raycaster = new THREE.Raycaster(camera.position, vector.sub(camera.position).normalize());
var intersects = raycaster.intersectObjects(scene.children, true);
if (intersects.length > 0) {
var helper = new THREE.BoxHelper(object);
helper.update();
var boundingSphere = helper.setFromObject(object);
var center = boundingSphere.geometry.boundingSphere.center;
var radius = boundingSphere.geometry.boundingSphere.radius;
var distance = center.distanceTo(camera.position) - radius;
var box = new THREE.Box3().setFromObject(dd);
var realHeight = Math.abs(box.max.y - box.min.y);
}
i want help please