Ich versuche einen einfachen Würfel zu rendern, der rotiert. Um die gleiche Rotationsgeschwindigkeit auf jeder Maschine zu erhalten, berechne ich die Zeitspanne zwischen jedem Bild und verwende diesen Wert in der Rotation. Im Grunde ist es nur:Three.js wird bei der Berechnung der verstrichenen Zeit nicht gerendert
var elapsed = (timestamp - lastFrameTimestamp)/1000.0; // doesn't show the cube
Aber wenn ich diesen Wert nichts bin mit dargestellt. Auch kein Fehler oder Warnung in der Konsole. Wenn Sie den verstrichenen Wert an die Konsole ausgeben, wird eine korrekte Zahl zurückgegeben.
Ich habe versucht, den Unterschied auf einen festen Wert zu setzen, und das funktioniert gut ?!
var elapsed = 16.665487/1000.0;
Ich habe eine jsFiddle für diesen Fall geschaffen. Ich habe es in Chrome und Firefox versucht, beide mit dem gleichen Ergebnis.
Hat jemand eine Idee oder einen Hinweis, was das Problem verursacht?
THREE.clock.getDelta() macht den Job richtig . Aber ich bin immer noch neugierig, warum mein Ansatz nicht funktioniert – Auskennfuchs
'console.log (cube.rotation.x + = 0,1 * abgelaufen)' gibt NaN aus – 2pha
Sie müssen Date.now() als ein Argument an den ersten animierten Anruf übergeben . – micnil