- Memungkinkan grafik 3D yang lebih kompleks dan realistis langsung di browser.
- Bisa menggunakan perspektif atau ortografik untuk tampilan yang berbeda.
- Menyediakan berbagai material dan efek untuk meningkatkan visualisasi objek.
- Bisa memuat model dari format seperti GLTF, OBJ, FBX, dan lainnya.
- Bisa berinteraksi dengan objek 3D menggunakan mouse atau input lainnya.
- Dan masih banyak lainnya.
![]() |
Gambar: website Three.js |
Langkah Awal Belajar Three.js
Persiapan project
Buat file dengan nama index.html lalu isi dengan kode berkut
Lalu jalankan file tersebut dengan extensions Live Server yang ada di code editor Visual Studio Code atau bisa langsung jalankan file index.html
![]() |
Gambar: hasil render Three.js |
Secara sederhana, yang sudah kita buat di atas adalah:
- Membuat scene sebagai dunia 3D
- Menambahkan kamera agar kita bisa melihat objek
- Membuat renderer untuk menampilkan hasil di layar
- Membuat kubus 3D dan menambahkannya ke scene
- Menggunakan loop animasi agar objek bisa bergerak
Penjelasan Masing-Masing Kode
Menyertakan Three.js ke dalam project
Kode di atas digunakan untuk melakukan import Three.js menggunakan CDN.
"*" artinya mengambil seluruh modul, dan menggunakan karakter "THREE" sebagai inisialisasi yang digunakan ke dalam pemakaian kode.
Membuat scene
Scene adalah tempat di mana semua objek 3D berada.
Membuat kamera
camera.position.z = 5;
- Menggunakan kamera perspektif dengan sudut pandang 75 derajat.
- window.innerWidth / window.innerHeight menyesuaikan rasio aspek dengan ukuran layar.
- 0.1, 1000 menentukan batas near dan far dari kamera.
- camera.position.z = 5 mengatur posisi kamera agar lebih jauh dari titik pusat, sehingga objek terlihat.
Membuat renderer
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
- WebGLRenderer adalah engine yang merender grafik 3D ke dalam canvas HTML5.
- setSize(window.innerWidth, window.innerHeight) menyesuaikan ukuran canvas sesuai dengan layar.
- document.body.appendChild(renderer.domElement) menambahkan canvas ke halaman HTML agar tampilan terlihat.
Membuat object 3D (kubus)
const geometry = new THREE.BoxGeometry();
const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
const cube = new THREE.Mesh(geometry, material);
scene.add(cube);
- BoxGeometry() membuat objek berbentuk kubus.
- MeshBasicMaterial({ color: 0x00ff00 }) memberi warna hijau pada kubus.
- Mesh(geometry, material) menggabungkan bentuk dan material menjadi satu objek.
- scene.add(cube) menambahkan kubus ke dalam scene agar terlihat.
function animate() {
requestAnimationFrame(animate);
cube.rotation.x += 0.01;
cube.rotation.y += 0.01;
renderer.render(scene, camera);
}
animate();
- requestAnimationFrame(animate) menjalankan fungsi animate berulang-ulang, menciptakan animasi yang mulus.
- cube.rotation.x += 0.01 & cube.rotation.y += 0.01 membuat kubus berputar di sumbu X dan Y.
- renderer.render(scene, camera) menggambar ulang scene setiap frame agar animasi berjalan.
Kesimpulan
Kode tersebut akan membuat sebuah kubus hijau 3D yang berputar di layar. Hasilnya dapat dijalankan langsung di browser tanpa perlu server khusus. Setelah belajar pendahuluan dari Three.js pada artikel ini, kita bisa melanjutkan ke level lebih lanjut seperti mempelajari pencahayaan, tekstur, atau interaksi dengan mouse.
0 Comments