Three.js根据浏览器窗口大小筛选世界位置计算

时间:2016-08-20 17:37:46

标签: javascript three.js

我很困惑将屏幕位置转换为three.js中的世界位置。我已经查看了有关Stackoverflow问题的几个答案,但无法理解公式和/或从示例中的光线投射或鼠标测试中提取它们(我都没有这样做)。我只想根据场景/窗口的宽度将平面定位在世界位置。例如,窗口的右下角减去平面的宽度和高度,因此它在屏幕上并且可见。像这样:

//geometry and material of the plane
var geometry = new THREE.PlaneGeometry(50, 50);
var material = new THREE.MeshPhongMaterial( { color: 0xff0000 } );

//create plane
plane = new THREE.Mesh( geometry,  material);

position = new THREE.Vector3();
position.x = ( window.innerWidth / 2 ) - asquare.geometry.parameters.width;
position.y = - ( window.innerHeight / 2 ) - asquare.geometry.parameters.height;
position.z = 0;

plane.position.set( position.x, position.y, position.z );

它是在正确的方向但是太远了,我想这是相机和平面z位置之间的差异,这是问题。如果我的相机处于z 500且平面处于z 0,我该如何相应地调整x和y?

0 个答案:

没有答案