From e190aea4b694340750079fabe9bdb49f50980f1b Mon Sep 17 00:00:00 2001 From: sayudhalw Date: Sun, 23 Aug 2026 16:04:37 +0700 Subject: [PATCH] refactor: use THREE.Clock for animation timing --- src/script.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/script.js b/src/script.js index 6d1541f..97b428b 100644 --- a/src/script.js +++ b/src/script.js @@ -30,19 +30,18 @@ const renderer = new THREE.WebGLRenderer({ }) renderer.setSize(sizes.width, sizes.height) -// Time -let time = Date.now() +// Clock +const clock = new THREE.Clock() // Animations const tick = () => { - // Time - const currentTime = Date.now() // ini jadi current time karena ada di dalam fungsi tick, jadi setiap kali tick dipanggil, currentTime akan diperbarui dengan waktu saat ini - const deltaTime = currentTime - time // deltaTime adalah selisih waktu antara currentTime dan time, yang digunakan untuk menghitung perubahan waktu sejak frame terakhir - time = currentTime // Update objects + + // Clock + const elapsedTime = clock.getElapsedTime() // Update objects - mesh.rotation.y += 0.001 * deltaTime // rotasi mesh pada sumbu y, dikalikan dengan deltaTime agar rotasi tetap konsisten meskipun frame rate berubah + mesh.rotation.y += 0.001 * elapsedTime // Renderer renderer.render(scene, camera)