Подтвердить что ты не робот

Three.js - Ширина просмотра

Есть ли способ узнать ширину рендеринговой части сцены?

Например, если у нас есть сетка шириной 100, но отображается с определенным уровнем масштабирования... как я могу рассчитать ширину части сетки, которая отображается на экране?

4b9b3361

Ответ 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

three.js r.87