Попытка изменить положение камеры на земном шаре three.js У меня есть список стран, которые при нажатии на кнопку возвращают страну lat и lon. Я проверил их, и я уверен, что это то, что передается в код ниже. Поэтому я нажимаю на страну, и камера перемещается в новое положение, но она находится внутри поверхности земного шара. Это под правильной страной, поэтому мне приходится уменьшать масштаб. Это код, который я использую радиус земного шара, хранится в var globeRadius (на всякий случай это было не совсем очевидно).перемещение положения камеры вокруг земного шара three.js
console.log(cameraTarget[0].lat,cameraTarget[0].lon)
var phi = cameraTarget[0].lat * Math.PI/180;
var theta = (cameraTarget[0].lon + 90) * Math.PI/180;
posX = globeRadius * Math.cos(phi) * Math.sin(theta);
posY = globeRadius * Math.sin(phi);
posZ = globeRadius * Math.cos(phi) * Math.cos(theta);
camera.position.set(posX,posY,posZ);
camera.lookAt(new THREE.Vector3(0,0,0));
Я догадываюсь, что мне нужно каким-то образом включить высоту камер над землей. Это мои первоначальные настройки камеры.
var FOV = 45;
var NEAR = 2;
var FAR = 4000;
// setup a camera that points to the center
var camera = new THREE.PerspectiveCamera(FOV,width/height,NEAR,FAR);
camera.position.set(posX,posY,posZ);
camera.lookAt(new THREE.Vector3(0,0,0));
Нужно ли сначала добавить ширину/высоту к globalradius, например. Если кто-нибудь может сказать мне хороший метод перехода, который был бы полезен также, благодаря
Спасибо за помощь, которая действительно полезная –