Idő-alapú animáció
A színtérben való objektum és kamera mozgások a renderelő függvényből vezérelhetők. A legegyszerűbb megoldás esetén a mozgás paramétereinek változása konstans. A probléma ezzel az, hogy lassabb megjelenítés esetén (pl. 60 FPS helyett csak 30 FPS-t tud a rendszer biztosítani) az egységnyi idő alatt megtett mozgások is lelassulnak. Ez nem szerencsés.
A változó FPS hatását kiküszöbölhetjük, ha az új pozíció számításakor figyelembe vesszük az utolsó renderelés óta eltelt időt. A beépített kamera interakciók képesek erre az alább bemutatott módon. Ezt az elvet saját mozgási paramétereink változtatásánál is alkalmazhatjuk.
let clock = new THREE.Clock();
function animate() {
let delta = clock.getDelta();
trackballControls.update( delta );
requestAnimationFrame( animate );
renderer.render( scene, camera );
}