В Three.js я хочу, чтобы камера была направлена в точку в трехмерном пространстве.
С этой целью я попытался использовать функцию camera.lookAt
следующим образом:
camera.lookAt(new THREE.Vector3(-100,-100,0));
Однако я узнал, что вызов не имеет никакого эффекта. Он просто ничего не делает. Я попытался изменить числа в векторе, и я всегда получаю тот же вид на экране, когда он должен меняться.
Я только что нашел, что если я удалю THREE.TrackballControls
, который у меня есть в моем коде, camera.lookAt()
работает так, как должен. Что-то не так с тем, как я использую THREE.TrackballControls? Вот как я их инициализирую:
controls = new THREE.TrackballControls( camera, renderer.domElement );
controls.rotateSpeed = 10.0;
controls.zoomSpeed = 1.2;
controls.panSpeed = 0.2;
controls.noZoom = false;
controls.noPan = false;
controls.staticMoving = true;
controls.dynamicDampingFactor = 1.0;
var radius = 5;
controls.minDistance = radius * 1.1;
controls.maxDistance = radius * 100;
controls.keys = [ 65, 83, 68 ]; // [ rotateKey, zoomKey, panKey ]*/
И затем в моей функции рендеринга я делаю:
function render() {
controls.update();
renderer.render(scene, camera);
}
Документация на Three.js довольно скудна, поэтому я подумал, что спрошу здесь. Я что-то делаю неправильно?