有没有办法找出场景渲染部分的宽度?

例如,如果我们有一个宽度为100的网格,但是以一定的缩放级别进行渲染...如何计算在屏幕上渲染的网格部分的宽度?

最佳答案

您必须在这里精确。

给定相机的视场camera.fov以及距相机的给定距离dist,您可以计算可见的矩形区域。

由于对象可能具有深度,因此您必须从网格中选取一个平面,然后以该距离进行计算。

这是如何计算距相机给定距离height的可见widthdist

var vFOV = THREE.MathUtils.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.117

关于javascript - Three.js- View 的宽度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13350875/

10-13 03:46