improve rotation

This commit is contained in:
CJSatnarine
2025-03-18 22:33:28 -04:00
parent ce73128084
commit 655c1a6b2b

View File

@@ -3,9 +3,12 @@ import { OBJLoader } from 'three/addons/loaders/OBJLoader.js';
const scene = new THREE.Scene(); const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000); const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
let modelObject = new THREE.Object3D; let modelObject = new THREE.Object3D;
// Rotation speed of the 3D model.
const rotationSpeed = 1.0;
let previousFrame = performance.now();
// Rendering. // Rendering.
const renderer = new THREE.WebGLRenderer({ const renderer = new THREE.WebGLRenderer({
canvas: document.querySelector('#canvas'), canvas: document.querySelector('#canvas'),
@@ -62,6 +65,14 @@ objectLoader.load(
// Animate function. // Animate function.
function animate() { function animate() {
modelObject.rotateY(-THREE.MathUtils.degToRad(1)); const currentFrame = performance.now();
const deltaTime = (currentFrame - previousFrame) / 1000;
previousFrame = currentFrame;
const rotationAngle = rotationSpeed * deltaTime;
modelObject.rotateY(-rotationAngle);
renderer.render(scene, camera); renderer.render(scene, camera);
requestAnimationFrame(animate);
} }