Da biste prikazali više objekata u sceni koristeći Three.js, morate dodati dodatne objekte (npr. kocke, sfere, krugove) u scene te podesiti njihove pozicije kako bi bili prikazani na različitim mjestima unutar 3D prostora.
Objašnjenje:
- Kreiranje scene:
const scene = new THREE.Scene();– Ovo stvara scenu u kojoj ćemo dodavati objekte.
- Kreiranje kamere:
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);– Ovdje kreiramo kameru koja gleda u scenu. Kamera je postavljena tako da gleda 3D prostor sa pozicijecamera.position.z = 5;.
- Kreiranje renderera:
const renderer = new THREE.WebGLRenderer();– Ovdje se koristi WebGL renderer za prikazivanje scene na ekranu.
- Kreiranje objekata:
- Kocka: Korištenjem
THREE.BoxGeometry()kreiramo kocku, a zatim dodajemo materijal pomoćuTHREE.MeshBasicMaterial(). Kocka se dodaje u scenu i pozicionira na-2po osi X. - Krug: Korištenjem
THREE.CircleGeometry()kreiramo krug, dodajemo materijal i pozicioniramo ga na+2po osi X.
- Kocka: Korištenjem
- Animacija:
function animate()– Ovdje animiramo oba objekta tako da rotiraju oko svojih osi u svakom “frameu”.requestAnimationFrame()poziva funkcijuanimateza svaki novi okvir kako bi se scena kontinuirano renderirala.
Dodavanje više objekata:
Da biste dodali više objekata u scenu, jednostavno ponovite korake stvaranja objekta (geometrija + materijal) i dodajte ih u scenu s različitim pozicijama.
Na primjer:
- Dodajte kocku na poziciju
x = -2, krug na pozicijux = 2, a zatim možete dodati još sfere ili valjke na druge pozicije.
// Dodavanje sfere
const geometry3 = new THREE.SphereGeometry(1, 32, 32); // Geometrija sfere
const material3 = new THREE.MeshBasicMaterial({ color: 0x0000ff }); // Plavi materijal
const sphere = new THREE.Mesh(geometry3, material3); // Kreiranje sfere
sphere.position.y = 2; // Pozicija sfere
scene.add(sphere); // Dodavanje sfere u scenu
// Dodavanje valjka
const geometry4 = new THREE.CylinderGeometry(1, 1, 2, 32); // Geometrija valjka
const material4 = new THREE.MeshBasicMaterial({ color: 0xffff00 }); // Žuti materijal
const cylinder = new THREE.Mesh(geometry4, material4); // Kreiranje valjka
cylinder.position.y = -2; // Pozicija valjka
scene.add(cylinder); // Dodavanje valjka u scenu
Zadaci za razmišljanje:
- Dodavanje više objekata različitih boja i oblika: Dodajte više objekata različitih geometrija (kocka, sfera, valjak) i pozicionirajte ih tako da se ne preklapaju.