Есть ли способ узнать ширину рендеринговой части сцены?
Например, если у нас есть сетка шириной 100, но отображается с определенным уровнем масштабирования... как я могу рассчитать ширину части сетки, которая отображается на экране?
Ответ 1
Здесь вы должны быть точными.
Вы можете рассчитать видимую прямоугольную область с учетом поля зрения камеры, 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