three.js перспективаCamera + orbitControl, как я могу получить текущий уровень масштабирования?

Я пытаюсь определить текущий уровень масштабирования (или что-то в этом роде) в сцене Three.js. Я имею в виду «масштабирование» (тележка), применяемое с помощью колесика мыши, например: простая сцена содержит: перспективаCamera + orbitControl + объект

1: `‹= тест здесь

controls = new THREE.OrbitControls( camera );
controls.dollyOut = function(){    }
controls.dollyIn = function(){    }

controls.addEventListener('change', renderlog); ....` 

TNX


person den.ts    schedule 23.10.2018    source источник
comment
Вы должны добавить свой код в свой вопрос вместо ссылки на него. Редактируя его, вы можете использовать редактор фрагментов кода.   -  person PJProudhon    schedule 23.10.2018


Ответы (1)


Когда вы используете PerspectiveCamera в сочетании с OrbitControls, вы должны знать, что «масштабирование» не является такой переменной, как в ортогональной камере. Вместо этого «масштабирование» выполняется путем простого размещения камеры ближе к цели.

Это означает, что вы можете получить расстояние масштабирования, рассчитав расстояние между целью и положением камеры.

var zoom = controls.target.distanceTo( controls.object.position )
person Ferrybig    schedule 23.10.2018
comment
Перспективная камера с управлением орбитой при увеличении не меняет положение камеры, меняется проекция (кажется) - person den.ts; 24.10.2018
comment
Но, возможно, вы правы: jsfiddle.net/denis_miroshnikov_ts/7teqkspu/92 посмотрите на консоль - person den.ts; 24.10.2018
comment
только с орфографической меняет проекцию, с перспективной камерой меняет положение - person Ferrybig; 24.10.2018