Может кто-нибудь объяснить мне, почему я получаю как {x: Infinity, y: -Infinity, z: -Infinity} из моих значений позиции, таких как {x: 0.50516157, y: -0.62950189, z: 0}, когда i Я пытаюсь проецировать свой вектор положения на камеру. Я нашел аналогичный запрос Converting World coordinates to Screen coordinates in Three.js using Projection, но решение не решает мою проблему. Было бы действительно помочь полной и экономии времени, если кто-то может мне помочь.Three.js Vector.project() дает значение Infinity?
var screenvector = new THREE.Vector3();
var position = new THREE.Vector3();
position = convertLatLontoVec3(lat, lng).multiplyScalar(radius);
//convertLatLontoVec3(returns new THREE.Vector3(x, y, z);)
screenvector.copy(position);
//till here during debugging i can find the values of position.x, .y, .z
screenvector.project(camera); //But once this step is executed all the values are becoming infintiy. I don't understand why is it happening.
проверить 'camera.projectionMatrix' и является ли' camera.matrixWorld' обратимым (то есть 'new THREE.Matrix4(). GetInverse (camera.matrixWorld)'), мы не можем ответить вам, не зная, как настроена ваша камера. –
umm, это проекция или непрозрачность? Просто дикое предположение, не потрудившись открыть диаграмму НДЦ, но я думаю, что вы должны быть бесконечно, если находитесь за камерой. Вектор экрана, который вы, вероятно, хотите * unproject * – pailhead
Спасибо за ваш ответ, для лучшего понимания здесь мой код, пожалуйста, посмотрите на него, и если что-то не так, http://pastebin.com/ei7T0mXr – sravan