From c1f6b7868e54eb7103d228499dbb033a4965a0c8 Mon Sep 17 00:00:00 2001 From: SimonezYT Date: Fri, 13 Mar 2026 11:55:36 +0100 Subject: [PATCH] aggiunti gli alberi --- models/tree.glb | Bin 0 -> 46404 bytes script.js | 46 +++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 models/tree.glb diff --git a/models/tree.glb b/models/tree.glb new file mode 100644 index 0000000000000000000000000000000000000000..37f361d9824e4a8c90643c32601eb066b9899815 GIT binary patch literal 46404 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 literal 0 HcmV?d00001 diff --git a/script.js b/script.js index 4c6a774..c6062d1 100755 --- a/script.js +++ b/script.js @@ -39,7 +39,7 @@ document.getElementById('start').addEventListener('click', () => controls.lock() controls.addEventListener('lock', lock); controls.addEventListener('unlock', unlock); -// 4. GESTIONE RIFIUTI (20 pezzi) +// 4. GESTIONE OGGETTI DI SCENA (20 rifiuti + 6 alberi) const trashArray = []; let score = 0; const loader = new GLTFLoader(); @@ -51,14 +51,54 @@ loader.load('models/rifiuto.glb', (gltf) => { const clone = mesh.clone(); scene.add(clone); trashArray.push(clone); - spawn(clone); + spawn(clone, 0.2); } }); +loader.load('models/tree.glb', (gltf) => { + const mesh = gltf.scene; + mesh.scale.set(4, 4, 4); + console.log(mesh); + + function spawn(obj, radius, minDistance) { + const points = []; + const attempts = 1000; // Numero massimo di tentativi per trovare un punto valido + for (let i = 0; i < attempts; i++) { + let angle = Math.random() * 2 * Math.PI; + let dist = Math.random() * radius; + let x = dist * Math.cos(angle); + let z = dist * Math.sin(angle); + let valid = true; + for (let j = 0; j < points.length; j++) { + const dx = x - points[j].x; + const dz = z - points[j].z; + const distance = Math.sqrt(dx * dx + dz * dz); + if (distance < minDistance) { + valid = false; + break; + } + } + if (valid) { + points.push({ x: x, z: z }); + } + } + + // Spawna gli alberi nei punti generati + for (let i = 0; i < points.length; i++) { + const clone = obj.clone(); + clone.position.set(points[i].x, -0.3, points[i].z); + clone.rotation.y = Math.random() * Math.PI * 2; // Rotazione tra 0 e 360 gradi + scene.add(clone); + } + } + spawn(mesh, 18, 8); // Raggio 18, distanza minima 5 +}); +console.log(scene) + function spawn(obj) { const a = Math.random() * Math.PI * 2; const r = Math.random() * 18; - obj.position.set(Math.cos(a) * r, 0.3, Math.sin(a) * r); + obj.position.set(Math.cos(a) * r, 0.1, Math.sin(a) * r); } // 5. MOVIMENTO E COLLISIONI