mirror of
https://github.com/storytold/spark.git
synced 2026-10-18 07:40:38 +00:00
Make example animations framerate independent
This commit is contained in:
@@ -50,9 +50,12 @@
|
|||||||
modifiers.setDepthColor(butterfly2, 1, 2, true);
|
modifiers.setDepthColor(butterfly2, 1, 2, true);
|
||||||
scene.add(butterfly2);
|
scene.add(butterfly2);
|
||||||
|
|
||||||
|
let lastTime;
|
||||||
renderer.setAnimationLoop(function animate(time) {
|
renderer.setAnimationLoop(function animate(time) {
|
||||||
butterfly.rotation.y += 0.01;
|
const deltaTime = time - (lastTime || time);
|
||||||
butterfly2.rotation.x += 0.01;
|
lastTime = time;
|
||||||
|
butterfly.rotation.y += deltaTime / 2500;
|
||||||
|
butterfly2.rotation.x += deltaTime / 2500;
|
||||||
renderer.render(scene, camera);
|
renderer.render(scene, camera);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -80,10 +80,12 @@
|
|||||||
duck.position.set(0, 0.45, -0.4);
|
duck.position.set(0, 0.45, -0.4);
|
||||||
scene.add(duck);
|
scene.add(duck);
|
||||||
|
|
||||||
let renderedEnvMap = false;
|
let lastTime;
|
||||||
renderer.setAnimationLoop(function animate(time) {
|
renderer.setAnimationLoop(function animate(time) {
|
||||||
|
const deltaTime = time - (lastTime || time);
|
||||||
|
lastTime = time;
|
||||||
renderer.render(scene, camera);
|
renderer.render(scene, camera);
|
||||||
duck.rotation.y += 0.01;
|
duck.rotation.y += deltaTime / 2500;
|
||||||
|
|
||||||
// Make sure we only launch async renderEnvMap once
|
// Make sure we only launch async renderEnvMap once
|
||||||
if (!renderedEnvMap) {
|
if (!renderedEnvMap) {
|
||||||
|
|||||||
@@ -106,10 +106,13 @@
|
|||||||
await createViewpoint(new THREE.Vector3(0.5, -1, -3), new THREE.Vector2(0.5, -0.5), 1),
|
await createViewpoint(new THREE.Vector3(0.5, -1, -3), new THREE.Vector2(0.5, -0.5), 1),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
let lastTime;
|
||||||
renderer.setAnimationLoop(function animate(time) {
|
renderer.setAnimationLoop(function animate(time) {
|
||||||
|
const deltaTime = time - (lastTime || time);
|
||||||
|
lastTime = time;
|
||||||
scene.background.set(0x000000);
|
scene.background.set(0x000000);
|
||||||
renderer.render(scene, camera);
|
renderer.render(scene, camera);
|
||||||
butterfly.rotation.y += 0.01;
|
butterfly.rotation.y += deltaTime / 2500;
|
||||||
|
|
||||||
// Render each viewpoint (with a different background each)
|
// Render each viewpoint (with a different background each)
|
||||||
for (let i = 0; i < viewpoints.length; i++) {
|
for (let i = 0; i < viewpoints.length; i++) {
|
||||||
|
|||||||
Reference in New Issue
Block a user