В 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 довольно мало, поэтому я решил спросить здесь. Я делаю что-то неправильно?