Я столкнулся с проблемой в three.js.Шаги документированы в следующем коде:
Мои шаги следующие:
var square = new THREE.Geometry(); //make a geometry
....and add points to geometry to make a square plane
var featureCentre = new THREE.Vector3();
square.boundingBox.getCenter(featureCentre);// get position of geomety
square.translate(....);// translate geometry to origin
var squareMaterial = new THREE.MeshBasicMaterial( { color: "#FF0000", side:
THREE.DoubleSide } );
var squareMesh = new THREE.Mesh(square, squareMaterial);// create mesh
var quaternion = new THREE.Quaternion(....);// create a quaternion
squareMesh.applyQuaternion(quaternion);// and apply it to mesh
// then move mesh to original position
squareMesh.position.x = featureCentre.x;
squareMesh.position.y = featureCentre.y;
squareMesh.position.z = featureCentre.z;
Все это работает, как ожидалось.Но проблема, с которой я сталкиваюсь, заключается в том, что, когда я пытаюсь панорамировать сцену, квадрат не панорамируется и «отделяется» от остальной части сцены.
Я не могу выяснить причину.
Вклад высоко ценится.
Редактировать: Другой объект, созданный таким же образом, но не переведенный, не дает этой проблемы.Кроме того, вращение и масштабирование работают нормально.
На следующих изображениях показана проблема:
Исходная ситуация:
Ситуация после панорамирования: