J'essaie de rendre un cube simple qui tourne. Pour obtenir la même vitesse de rotation sur chaque machine, je calcule le laps de temps entre chaque trame et j'utilise cette valeur écoulée dans la rotation. Fondamentalement, il est juste:Trois.js ne rend pas lors du calcul du temps écoulé
var elapsed = (timestamp - lastFrameTimestamp)/1000.0; // doesn't show the cube
Mais quand j'utilise ce rien de valeur est affichée. Aussi pas d'erreur ou d'avertissement dans la console. La sortie de la valeur écoulée vers la console renvoie un nombre correct.
J'ai essayé de définir la différence à une valeur fixe et cela fonctionne très bien ?!
var elapsed = 16.665487/1000.0;
J'ai créé un jsFiddle pour ce cas. J'ai essayé dans Chrome et Firefox, les deux avec le même résultat.
Quelqu'un a-t-il une idée ou un indice de ce qui cause le problème?
THREE.clock.getDelta() fait le travail correct . Mais je suis toujours curieux de savoir pourquoi mon approche ne fonctionne pas – Auskennfuchs
'console.log (cube.rotation.x + = 0.1 * écoulé)' sorties NaN – 2pha
Vous devez passer Date.now() comme argument au premier appel animé . – micnil