Three.js - 视图宽度有没有办法找出场景渲染部分的宽度?例如,如果我们有一个宽度为100的网格,但是使用一定级别的缩放进行渲染...如何计算在屏幕中渲染的网格部分的宽度?
1 回答

凤凰求蛊
TA贡献1825条经验 获得超4个赞
你必须在这里准确。
您可以从相机计算出相机的视野camera.fov和给定距离的可见矩形区域dist。
由于物体可能具有深度,因此您必须通过网格选择一个平面,并在该距离处进行计算。
以下是如何计算相机的可见距离height和width给定距离dist。
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
添加回答
举报
0/150
提交
取消