refactor: use THREE.Clock for animation timing

This commit is contained in:
sayudhalw
2026-08-23 16:04:37 +07:00
parent 421efb9ff1
commit e190aea4b6
+6 -7
View File
@@ -30,19 +30,18 @@ const renderer = new THREE.WebGLRenderer({
}) })
renderer.setSize(sizes.width, sizes.height) renderer.setSize(sizes.width, sizes.height)
// Time // Clock
let time = Date.now() const clock = new THREE.Clock()
// Animations // Animations
const tick = () => { 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 // Clock
const deltaTime = currentTime - time // deltaTime adalah selisih waktu antara currentTime dan time, yang digunakan untuk menghitung perubahan waktu sejak frame terakhir const elapsedTime = clock.getElapsedTime()
time = currentTime // Update objects
// Update objects // 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
renderer.render(scene, camera) renderer.render(scene, camera)