Как я могу получить текущий уровень «увеличения»?

1

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

1: '<= тест здесь

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

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

TNX

  • 1
    Вы должны добавить свой код в свой вопрос вместо ссылки на него. Редактируя его, вы можете использовать редактор кода.
Теги:
three.js
zoom
perspectivecamera

1 ответ

0
Лучший ответ

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

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

var zoom = controls.target.distanceTo( controls.object.position )
  • 0
    Перспективная камера с управлением орбитой при увеличении не меняет положение камеры, она меняет проекцию (я думаю)
  • 0
    Но, возможно, вы правы: jsfiddle.net/denis_miroshnikov_ts/7teqkspu/92 посмотрите на консоль
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню