Material, UV Unwrapping, Texturing dan Decal di Blender 2.5
Tulisan ini saya tujukan untuk sesama pemula Blender 2.5, tentang dasar2 material di Blender 2.5. "Sesama", karena saya sendiri juga pemula dan menuliskan tutorial ini sembari membiasakan diri menggunakan Blender 2.5.
Selain Blender 2.5, kita juga akan menggunakan GIMP, sekalian saya belajar editor gambar ini.
Material
Saya mulai dari kubus polos. Agar tutorial ini tidak membosankan bagi saya yang menulis, atau bagi Anda yang membaca dan mencoba, ada baiknya kita utak-utik sedikit. Saya pilih bentuk awal peti kayu saja:
Sambil objek peti kayu terpilih, masuk ke tab Material. Kita buat material baru, saya beri nama Kayu:
Selanjutnya, kita ubah sebentar layout jendela menjadi layout "UV Editing". Mulai bagian ini nih, yang saya dulu nggak ngerti2:
UV Unwrapping
UV Unwrapping, seperti namanya, seperti seakan "membuka bungkusan", membuat sistem koordinat datar/planar (UV) dari sistem koordinat volumetrik (XYZ). Langkah pertama unwrapping adalah dengan menentukan posisi jahitan (seam) yang akan dibuka saat objek diratakan.
Ubah modus pemilihan mesh menjadi modus Edge <Ctrl-Tab -> 2>. Pilih sisi-sisi pojok peti yang akan ditandai sebagai lokasi jahitan; pakai <Alt-RClick> untuk memilih lebih dari satu edge:
Perlu sedikit imajinasi dalam menentukan garis2 jahitan, membayangkan wujud planar objek setelah proses unwrap. Setelah selesai, pilih seluruh objek (<A>) lalu jalankan perintah menu Mesh -> UV Unwrap -> Unwrap:
Di jendela UV/Image Editor akan terlihat vertex2 objek terpilih dalam sistem koordinat UV. Anda bisa rapikan posisi setiap vertex; saya sendiri memilih hanya memutarnya sampai sisi panjang objek melintang horizontal. Pada tahap ini, saya simpan file .blend. Kebiasaan saya menambahkan indeks "000" di akhir nama file, agar saat menyimpan progresi hasil kerja saya selanjutnya, saya dapat menekan tombol <+> untuk menambahkan 1 pada indeks tersebut dan nama semua file tetap seragam:
Agar mudah melukis tekstur dalam editor eksternal, kita simpan layout UV ini dengan menjalankan perintah menu UVs -> Export UV Layout. Pilih nama file, dan simpan:
Kita pindah ke GIMP dulu, sementara...
GIMPing!
Dalam GIMP, buka file layout UV tadi. Karena berformat vektor SVG, GIMP membuka menu render untuk konversi ke format bitmap. Pilih resolusi yang diinginkan:
Pilih perangkat Bucket Fill <Shift-B>, ubah Fill Type menjadi Pattern fill. Buat layer baru di bawah layer layout UV, layer ini akan berisi pola paling dominan dalam tekstur. Dengan layer baru ini aktif, <LClick> di manapun dalam kanvas untuk membanjiri kanvas dengan pola kayu bingkai:
Berikutnya kita tentukan pola tekstur kayu penutup. Untuk memilih bidang tekstur tersebut saya gunakan Scissor Select Tool <I>, perangkat seleksi yang secara otomatis memilih jalur seleksi berdasarkan kontras tepian (hanya karena ini favorit saya, Anda bebas memakai perangkat seleksi yang lain, seperti Rectangle Select. Lha cuma kotak, ini...). <LClick> di keempat penjuru setiap bidang kayu penutup, lalu tekan <Shift-Enter> untuk menambahkan ke hasil seleksi sebelumnya. Ulang sampai semua bidang kayu penutup terpilih:
Untuk pola tekstur kedua ini kita bisa kembali menggunakan Bucket Fill, tapi karena iseng saya pakai saja Clone Tool <C>. Setelah memilih kuas yang berukuran cukup besar, dan menentukan pola tekstur kayu yang akan di-clone, sapukan kuas. Sesuai kebutuhan, Anda bisa melakukannya dalam layer yang sama dengan kayu bingkai, atau seperti saya, menggunakan layer baru. Karena seleksi tengah aktif, clone tekstur hanya akan diaplikasikan ke dalam bidang yang tengah terseleksi:
Dalam gambar di atas terlihat bahwa pola layout UV saya sembunyikan, karena pada tahap ini ia tidak diperlukan lagi. Setelah modifikasi kembali sesuai kebutuhan, simpan gambar ini dalam format PNG:
UV Texturing
Kembali ke Blender, kita kembali dulu ke layout jendela Default. Dalam tab editor Texture, buat tekstur baru bertipe "Image or Movie". Dalam group Image, pilih nama file PNG yang kita buat menggunakan GIMP. Dalam group Image Mapping, pilih cara ekstensi Clip karena kita hanya perlu tekstur ini dalam wilayah yang sudah ditentukan. Terakhir, pilih metode pemetaan UV di group Mapping:
Bila kita render scene ini <F12>, akan terlihat hasil kerja kita:
FelicitaciĆ³n y celebraciĆ³n! Akhirnya kita berhasil juga memberi tekstur pada objek...
Decal
... tapi tutorial ini belum selesai. Peti kayu ini akan digunakan untuk mengangkut bahan kimia beracun (cuekin saja, meski tidak masuk akal), dan perlu kita beri decal/stiker peringatan. Decal bisa saja digambar langsung pada file tekstur yang baru saja kita buat, tapi karena saya senang membuat yang mudah jadi sulit, kita akan menempatan tekstur decal berbasis objek eksternal. Pertama, saya pilih sisi objek yang membelakangi kamera, lalu membuat duplikat material terpisah (Kayu.001) untuk sisi tersebut, alasannya akan saya jelaskan nanti:
Dengan material asli (Kayu) terpilih, kita masuk ke tab Texture, lalu buat tekstur gambar baru, berisi gambar decal yang akan ditampilkan. Anda bisa dapatkan gambar decal yang saya gunakan di sini. Setting yang signifikan dalam tab ini adalah clip image (agar gambar tidak diperluas), dan premultiply alpha (nilai RGB dikalikan dulu dengan nilai Alpha, untuk memperhalus efek transparansi):
Dengan setting decal di atas kita dapatkan hasil render berikut (Anda mungkin perlu mengubah ukuran objek Empty):
Pemetaan tekstur berdasarkan objek eksternal menggunakan skala dan koordinat lokal objek tersebut untuk menentukan skala, lokasi dan orientasi tekstur. Dalam setting normal, tekstur decal selalu menghadap searah sumbu Z positif, sumbu X dan sumbu Y menjadi orientasi horizontal dan vertikal, secara berturutan. Sayangnya, cara ini memiliki satu kelemahan. Bila kita geser kamera agar melihat sisi bawah peti, kita dapatkan:
Saya tidak tahu apa namanya ("pokoknya kebalik, deh"?), maka saya sebut saja proyeksi negatif karena dihasilkan dari proyeksi tekstur searah sumbu Z negatif.
Karakteristik pemetaan tekstur berbasis objek eksternal ini membuatnya hanya cocok untuk scene statik, kecuali bila sisi belakang menggunakan material yang tidak memuat tekstur decal (ini fungsi material duplikat, tadi). Coba putar objek Empty sampai panah sumbu Z-nya membelakangi area yang kita beri material duplikat, sebelumnya. Kita dapatkan render seperti ini:
dan bila kamera melihat sisi belakang peti, proyeksi negatif decal tidak lagi ditemukan. Decal bisa menjadi solusi penempatan material yang fleksibel dan mudah dianimasikan, sepanjang kita telah mengantisipasi proyeksi negatif.