refactor: use THREE.Clock for animation timing
This commit is contained in:
+6
-7
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user