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)
|
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)
|
||||||
|
|||||||
Reference in New Issue
Block a user