Three.js – 视图的宽度
有没有办法找出场景的渲染部分的宽度?
例如,如果我们有一个宽度为100的网格,但是具有一定的缩放级别,我将如何计算在屏幕上渲染的网格部分的宽度?
你必须在这里精确。
根据相机的视场, camera.fov
和给定的距离dist
,可以计算可见的矩形区域。
由于物体具有深度,因此必须通过网格选取一个平面,然后在该距离处进行计算。
以下是如何计算距相机给定距离dist
的可见height
和width
。
var vFOV = THREE.Math.degToRad( camera.fov ); // convert vertical fov to radians var height = 2 * Math.tan( vFOV / 2 ) * dist; // visible height var width = height * camera.aspect; // visible width
three.js r.87