我有一个4000px x 3000px的图像纹理,我正在添加到网格/平面。
var img = new THREE.MeshBasicMaterial({
map: THREE.ImageUtils.loadTexture('myimage.png')
});
this.plane = new THREE.Mesh(new THREE.PlaneGeometry(4000, 3000, img);
this.scene.add(this.plane);
我也在使用OrbitControls来控制这架飞机。我已经将控制限制为仅放大和缩小并暂时平移。旋转很少。当我放大和缩小(dollyIn / dollyOut)时,我想得到飞机可视区域的边界框。通过可视区域,我的意思是用户可以在当前状态下在浏览器中看到图像纹理。
如果我完全缩小,我的边界框应为= [[0,0],[4000,3000]]。如果我放大了,那么我的边界框可能是= [[100,200],[400,500]]。
如何在three.js中实现这一目标?