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-2
po osi X. - Krug: Korištenjem
THREE.CircleGeometry()
kreiramo krug, dodajemo materijal i pozicioniramo ga na+2
po osi X.
- Kocka: Korištenjem
- Animacija:
function animate()
– Ovdje animiramo oba objekta tako da rotiraju oko svojih osi u svakom “frameu”.requestAnimationFrame()
poziva funkcijuanimate
za 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.