2016-11-30 14 views
0

Моя цель - визуализировать объект collada и поместить его над изображением с помощью этого объекта.
enter image description hereКак контролировать искажение перспективы THREE.PerspectiveCamera

Допустим, что у меня есть изображение, которое было вынесено V-Ray рендерер в 3ds макс (зеленый) один и Collada объекта, который я сделать три JS с использованием perpective камеры (красный).
Проблема в том, что у меня больше искажений перспективы на визуализированном объекте, чем на изображении.
Я видел, что THREE.PerspectiveCamera имеет focus свойство, которое похоже на то, что я ищу. Но когда я меняю, ничего не происходит.
THREEJS документация говорит:

.focus расстояние

Объект, используемый для стереоскопической и глубины резкости эффектов. Этот параметр не влияет на матрицу проекции, если не используется StereoCamera.

Но я ничего не нашел о StereoCamera в трех документах js.

Кто-нибудь может помочь мне справиться с этим?

ответ

1

Лучше изменить FOV вашего PerspectiveCamera.

camera = new THREE.PerspectiveCamera(60, window.innerWidth/window.innerHeight, 1, 3000); 

Таким образом, первый параметр 60 это поле зрения (FOV). Чем меньше значение этого параметра, тем меньше искажений вы получите, но чем больше вы должны переместить камеру назад, чтобы сохранить соответствующий вид вашей сцены, или тем больше вам нужно масштабировать объект. Зависит от того, что вы хотите получить, поиграйте с FOV вашей камеры и масштабированием вашего объекта.

+0

Спасибо. Раньше я думал, что параметр fov работает как масштаб для всей сцены, но я ошибался. –