ControlSettings

Класс для хранения и применения настроек управления камерой («контролов»).

Пример

const aspect = app.container.offsetWidth / app.container.offsetHeight; const camera = new v3d.PerspectiveCamera(45, aspect, 1, 1000); camera.position.z = -5; camera.controlSettings = new v3d.ControlSettings('ORBIT'); app.scene.add(camera); // устанавливает активную камеру и назначает контролы в приложении app.setCamera(camera);

Конструктор

ControlSettings(type : String, enablePan : Boolean, rotateSpeed : Float, moveSpeed : Float)

Создаёт новый объект с настройками управления камерой.

Свойства

.enableKeys : Boolean

Включает или выключает возможность управления с клавиатуры. По умолчанию true.

.enablePan : Boolean

Включает или выключает панорамирование камеры. По умолчанию true.

.enableRotate : Boolean

Включает или выключает горизонтальный и вертикальный поворот камеры. По умолчанию true.

.enableZoom : Boolean

Включает или выключает зум (или движение вперёд-назад) камеры.

.moveSpeed : Float

Фактор скорости перемещения. При назначении настроек на объекте контролов, будет влиять одновременно на панорамирование и зум. По умолчанию 1.

.orbitEnableTurnover : Boolean

Включает или выключает возможность поворота камеры через голову. По умолчанию false.

.orbitMaxAzimuthAngle : Float

Как сильно можно крутить орбитальную камеру по горизонтали (верхний лимит). Допустимый диапазон: от -Math.PI до Math.PI (или Infinity для отключения лимита). По умолчанию Infinity;

.orbitMaxDistance : Float

Как сильно можно отдалять орбитальную камеру (только для перспективных камер). По умолчанию Infinity.

.orbitMaxPolarAngle : Float

Как сильно можно крутить камеру по вертикали (верхний лимит). Допустимый диапазон: от 0 до Math.PI радиан, по умолчанию Math.PI.

.orbitMaxZoom : Float

Максимальный зум (только для ортогональных камер). По умолчанию Infinity.

.orbitMinAzimuthAngle : Float

Как сильно можно крутить орбитальную камеру по горизонтали (нижний лимит). Допустимый диапазон: от -Math.PI to Math.PI (или -Infinity для отключения лимита). По умолчанию -Infinity;

.orbitMinDistance : Float

Как сильно можно приближать орбитальную камеру (только для перспективных камер). По умолчанию 0.

.orbitMinPolarAngle : Float

Как сильно можно крутить камеру по вертикали (нижний лимит). Допустимый диапазон: от 0 до Math.PI радиан, по умолчанию 0.

.orbitMinZoom : Float

Минимальный зум (только для ортогональных камер). По умолчанию 0.

.rotateSpeed : Float

Коэффициент скорости вращения. По умолчанию 1.

.screenSpacePanning : Boolean

Определяет, как меняется положение камеры при панорамировании. Если true, камера движется в пространстве экрана. В противном случае камера движется в плоскости, ортогональной направлению вектора up камеры. По умолчанию true.

.type : String

Тип контролов: "ORBIT", "FIRST_PERSON" или "FLYING".

Методы

.assignToControls(controls : Controls, scene : Scene)

Назначает настройки контролов на объект контролов.

.clone() → ControlSettings

Клонирует настройки контролов.

.copy(source : ControlSettings) → ControlSettings

Копирует настройки контролов.

Исходный файл

О том как получить исходный код этого модуля читайте тут.