Я пытаюсь сделать объект подходящим внутри камеры усечения, и я прошел через все тригонометрии для этого, и это код, который я использовал.Создание объекта, который находится точно внутри камеры усечения в Three.Js
var setupCamera = function() {
aspectRatio = window.innerWidth/window.innerHeight
camera = new THREE.PerspectiveCamera(45, aspectRatio, 1, 10000);
scene.add(camera);
}
var updateCamera = function() {
var height = mesh1_BB.max.y;
var width = mesh1_BB.max.x - mesh1_BB.min.x;
var vertical_FOV = camera.fov * (Math.PI/ 180);
var max_z = mesh1_BB.max.z;
var horizontal_FOV = 2 * Math.atan (Math.tan (vertical_FOV/2) * aspectRatio);
var distance_vertical = height/(2 * Math.tan(vertical_FOV/2));
// alert ('vertical' + distance_vertical);
var distance_horizontal = width/(2 * Math.tan(horizontal_FOV/2));
// alert ('horizontal' + distance_horizontal);
var z_distance = distance_vertical >= distance_horizontal? distance_vertical : distance_horizontal;
camera.position.z = z_distance + max_z;
camera.position.y = 0 ;
camera.position.x = 0;
}
Хотя я думаю, что расчет расстояния камеры является правильным, это результат я получаю:
Я думал, что вопрос изменения у положения камеры, и поставить его с camera.position.y = height; но это то, что я получаю:
В результате я хочу следующее (что-то я получил панорамирование с кнопкой правой кнопкой мыши мыши и перетащив его вверх, пока он не установлен весь холст кадр):
Я действительно надеюсь, что вы можете помочь с этим, потому что это сводит меня с ума весь день ;-)
Спасибо большое!
Как подобрать камеру к объекту: http://stackoverflow.com/questions/14614252/how-to-fit-camera-to-object – gaitat