Три JS Регулировка вращения камеры - PullRequest
0 голосов
/ 10 марта 2020

Я просто хочу знать, как я могу повернуть эту камеру (aerialCamera) на 180 °? Я пробую camera.rotation.y, но думаю, что делаю это неправильно.

aerialCamera = new THREE.PerspectiveCamera(80, w/h, 0.1, 1000); 
aerialCamera.position.set(0, 35, 0);
aerialCamera.lookAt( scene.position );
scene.add( aerialCamera );

Картинка, чтобы понять, что я хотел бы: My wish

1 Ответ

0 голосов
/ 10 марта 2020

Проблема заключается в lookAt, требующем вектора up, указывающего в направлении верхней части камеры. По умолчанию up равно 0, 1, 0 или выше, но, поскольку вы заставляете камеру смотреть прямо сверху вниз камеры (например, представьте, что на самом деле у вас в руках настоящая камера с верхом, спереди, снизу, назад, et c) не направлен вверх (в небо)

Вы можете исправить это двумя способами

(1) дать три. js и вверх значение для камеры

или camera.up.set(0, 0, 1) или camera.up.set(0, 0, -1). Затем позвоните camera.lookAt(...)

(2), не используйте look at.

, тогда camera.rotation.set(Math.PI / -2, 0, 0) или camera.rotation.set(Math.PI / -2, 0, Math.PI)

...