Rabu, 18 Januari 2012

3D RENDERING "intermezzo"

Assalamualikum.

Teman-teman pasti sudah sangat sering mendengar istilah ini, "Rendering" . Dalam wikipedia disebutkan cukup detail mengenai hal ini. termasuk beberapa prinsip algoritma untuk menciptakan image dan rasterize dari 3D vector ke pixel.

Di Blender contohnya, saat render Cycles, CPU/GPU merender beberapa pixel saja, sehingga pixel yang lain hanya di kira-kira (ignored area), maka saat integratornya kecil muncul noise-noise yang berupa area yang diabaikan. Teknik ini memang lebih baik / cepat di banding pixel by pixel rendering, dimana semua pixel harus dilalui. Tekniknya lainnya pun ternyata beragam, seperti teknik scanline, monte carlo, ray trace dan lain sebagainya. Persamaannya memakai matematika, kalkulus, algoritma, dimana saya tidak mendalami itu.

Cukup rumit memang, saya sendiri hanya menjadikan itu sebagai pengetahuan umum saja, karena memang saya hidup setelah render engine diciptakan, proses penciptaannya juga nggak ngerti-ngerti amat, coba aja saya pada tahun 1952 sudah lahir dan kerja di lab komputernya MIT mesti beda deh ceritanya, hehehe... :p

Yang pasti itu sesuatu yang luar biasa bagi saya, ketika dilihat dari sejarahnya dulu hanya dari penemuan sketchpad  (that's simple line from television screen)

dan banyak komputer-komputer yang segede "kingkong" diciptakan hanya untuk mempermudah penciptaan image dalam komputer. Hingga sekarang hanya perangkat sebesar buku tulis saja sudah mampu menciptakan gambar dari komputer. That's Awesome!!!

yang pasti dari research bertahun-tahun,
Sekarang seniman sangat dipermudah dengan teknologi itu.

Saya masih ingat saat pertama kali kuliah, ada perdebatan dan silang pendapat antara seorang dosen (seniman). Mana yang lebih baik? seniman? atau orang teknik? beberapa seniman masih menganggap seni lebih unggul. "lihat Da-Vinci dengan karyanya yang tidak ternilai" dan orang teknik masih menganggap tekniklah yang lebih unggul. "lihat gedung-gedung pencakar langit itu, rocket yang meluncur ke bulan"
That's no problem,
Menurut saya pribadi, sekarang adalah dunia dimana seni dan teknik bergabung. Dan saya rasa itulah yang terjadi dalam dunia animasi. Kita tidak bisa kerja sendirian, dan itulah pentingnya sebuah team, community, share dan lainnya.

Tapi bukan itu yang menjadi pokok bahasan saya. 
Saya kali ini juga tidak membahas mengenai teknik rendering atau tutorialnya. Saya ingin membahas ini karena ada kasus yang terjadi saat saya memproduksi beberapa animasi.

Pertanyaannya adalah,

Bagaimanakah shading dan rendering yang bagus?

Pernah suatu waktu ada dialog antara saya dan beberapa teman mengenai shading dan rendering.
sering muncul dialog unik:
A: "Wah kok kurang asik ya renderingnya?"
B: "Apanya ya yang bikin kurang asik?"
A: "Ga tau, "feel" q masi ada yang kurang ja"
B: " ????" (pulang2 ga bisa makan gara2 mikirin renderan :P)

Seperti saya yang masih terbilang "bayi" dalam hal rendering 3D, memang terkadang menemui hasil render yang kurang "ber-dimensi". Hal ini terlepas dari cartoon style / rendering 2D in 3D/ cell shade look, yang saya maksud disini adalah rendering 3D look / real look.

Saya sebenarnya hanya berusaha menyederhanakan prinsip rendering agar ada patokan dalam rendering.  Saya mulai menilik kembali ke traditional art, yaitu "drawing". Dalam seni menggambar / drawing istilah rendering sering sekali digunakan. Mengarsir kertas menggunakan pensil, mengatur tekanan pensil, memberi warna gelap pada permukaan yang dalam, dan warna lebih cerah pada permukaan tinggi/dekat sering disebut dengan teknik rendering, shading/ arsiran.

Saya mencuplik dalam buku Andrew Lommis (1949:81), yaitu buku kuno panduan banyak seniman gambar, yang berisi secara detail teknik-teknik menggambar dan di dalamnya juga menjelaskan anatomi plastis.
Andrew menjelaskan pembagian shading sebagai berikut.

Gambar: saya sket ulang menggunakan my paint.

Dari gambar di atas secara mendasar shading terbagi menjadi 5 bagian.

1. Highlight : (noon)
Dapat diartikan sebagai permukaan yang terkena cahaya secara langsung. biasanya warna lebih terang, tergantung dengan warna sumber cahaya. Seperti pada siang hari terik.

2. Halftone : (twilight)
Diibaratkan bagian bumi pada waktu senja. Bagian yang berada di antara highlight dan shadow. Andrew membagi halftone lagi dengan B+ Last night.

3. Shadow: (Night)
Bagian yang gelap pada objek. Seperti pada malam hari. bagian bumi yang tidak terkena cahaya.

4. Reflect (moonlight)
Merupakan pantulan dari objek sekitar/ surfacenya. Ini akan berpengaruh besar/kecil tergantung sifat materialnya (gloss/diffuse/doff/ dll). Disamakan dengan pantulan cahaya matahari terhadap permukaan bulan.

5. Cast shadow (Eclipse)
Diumpamakan seperti gerhana, bumi yang tertutup bulan/ matahari. Merupakan cetakan bayangan karena tertutup oleh benda. Ya, bayangan yang sering kita lihat di bawah kaki kita lah, saat berada di luar ruang. Keras / atau tidaknya juga tergantung pada sumber cahaya, indor dan out door bakal beda. Siang hari bakal lebih keras, dan sore hari akan lebih soft dan blur.

Saya coba render di blender dan ternyata memang prinsipnya sama.



That's it, menurut saya konsep yang disampaikan oleh Andrew Lommis bisa dijadikan patokan sederhana untuk rendering 3D. Walau sekarang sudah sangat dimudahkan dengan teknologi, paling tidak agar dimensi benar terlihat ,mari kita pahami terlebih dahulu prinsip dasarnya.
Sekian dan terima kasih, kurang lebih saya mohon maaf. Silahkan berkomentar mengenai konsep rendering dan shading yang baik dan benar. :)


and,

Watch out your vehicles!!

Wassalam.



Kamis, 12 Januari 2012

ALPHA CHANNEL MAPPING

Assalamualaikum.

Ok, sori baru bisa posting, sedang ada urusan administrasi kampus. :)

Proyek ini masih masuk tahap concept, script dan sedikit riset rendering di cycles.
Kebetulan dalam scene proyek animasi ini di beberapa bagian membutuhkan alpha channel. Bagi yang belum tahu, alpha channel bisa di artikan sebagai channel warna yang menyimpan data transparan. sehingga bagian alpha tidak ikut di render. bisa check di sini http://www.webopedia.com/TERM/A/alpha_channel.html

Jadi ternyata di Blender Cycles yang baru tidak mau me render alpha channel yang dilakukan dengan import image format png (add on).  Jadi sedikit butuh penyesuaian, secara, slot materialnya juga sudah beda sih...

Ingin share saja, saya buat tutorial sekilas mengenai ini.

1. Buka Program Blender. Buat objek plane Shift+A, pilih mesh dan plane, atau buka source .blend saya. http://dl.dropbox.com/u/43804853/tutor%20ARK.blend.zip

 2. Kemudian ganti engine render menjadi cycles render.

3.Pilih material pada dock properties kemudian klik new (add new material)

4.Beri nama material sesuka hati :)
 

5. Ganti surface diffuse menjadi add shader. Hal ini akan menyebabkan penumpukan 2 material dengan tipe blending add.


6.  Pilih slot material shader pertama menjadi diffuse BSDF.


 

7.  Pilih slot material shader kedua menjadi transparant BSDF

8. Klik icon dot (titik kecil) pada shader 1 , kemudian pilih image texture.

9. open image pada shader 1


10. Browse file image (bukan alpha channel). file ini dapat berupa file image apapun (Format : jpg,bmp,png,tga dll). kemudian klik open atau double click saja saja pada file yang dipilih.


11.Klik icon dot (titik kecil) pada shader 2 , kemudian pilih image texture.

  
12. open image pada shader 2,



13. Browse file image (alpha channel). file ini dapat berupa file image apapun (Format : jpg,bmp,png,tga dll). Kemudian klik open atau double click saja saja pada file yang dipilih.

File alpha dapat di buat menggunakan image editor seperti gimp. Saya hanya membuat image png menjadi hitam dengan mengatur level image-nya dan memberi background putih. Memang sedikit berbeda karena biasanya channel alpha berwarna hitam, namun ini di balik.
Intinya backgound putih saat di render tidak akan terlihat. dan warna hitam akan terlihat sesuai dengan shader diffusenya.

12. Buka viewport baru dengan drag ujung viewport kanan atas hingga muncul tanda + dan drag dari kanan ke kiri.


13. Ganti 3d view menjadi uv image editor.


14. Seleksi objek plane dan tekan key (Tab), lalu, key (U). dan pilih unwarp.


15. Ganti metode display shader, menjadi material.



16. Setelah tampak materialnya sesuaikan sesuka hati di viewport uv image editor. Dengan cara (G) untuk grab, (S) untuk scale, dan (R) untuk rotate.


17. coba ganti metode display shadernya menjadi rendered.


18. And, ta..da... jadi transparant.





19. Coba duplikat beberapa kali dan di atur-atur sedikit. bisa dengan material yang sama atau berbeda. Vertex bisa juga di tekuk2. Atur lightingnya.

dan lumayan lebih realistic lah... :)

Metode yang sama bisa di terapkan pada pohon, rambut, sarang laba-laba, dan apapun yang bisa di akali memakai alpha channel. Yang pasti face lebih sedikit dan lebih ringan. :)

Nih ada screen shoot envi yang lagi on progress dan banyak alpha channel di dalamnya. keep "mblender", ketagihan tidak di tanggung :)



thanks, for watching my blog... and Watch out!! your vehicles!!

Minggu, 01 Januari 2012

WORK FLOW

Assalamualaikum,

First step, saat membuat sebuah animasi, yang pertama kali dipikirkan adalah sebuah perencanaan. Dimaksudkan agar penciptaan animasi sesuai dengan target yang kita inginkan. Oleh karena itu, dibutuhkan alur kerja (Work Flow) yang "sesuai". Sesuai dalam hal ini maksudnya disesuaikan dengan konsep animasi, kemampuan creator, waktu, tujuan dan lain sebagainya. 

Untuk proyek animasi kali ini workflow yang saya buat adalah sebagai berikut:


Secara garis besar terbagi menjadi 5 tahap. 
1. Preliminary / persiapan
2. Preproduction / pra produksi
3. Production / produksi
4. Postproduction / paska produksi
5. Presentation / penyajian

Workflow ini menjadi sedikit berbeda dari biasanya, karena disesuaikan dengan kebutuhan saya dalam hal ini penyelesaian tugas akhir. Penambahannya terletak pada proses preliminary dan tahap presentation. 

Yap, paling tidak tahap-tahap tersebutlah yang akan saya bahas di dalam blog ini. Mungkin saya akan menjelaskan dalam contoh-contoh kasus atau teori sekalipun, sesuai dengan pengalaman saya. ^_^

thanks, for watching my blog... and keep watch out!! your vehicles!!

INTRODUCTION

Assalamualaikum,
Jangan salah paham dulu, ini bukanlah blog untuk para maling motor ^_^.

Mari saya jelaskan terlebih dahulu.
Blog ini dibuat untuk berbagi pengalaman dan ilmu mengenai proyek TA (Tugas Akhir) saya, yaitu animasi Iklan Layananan Masyarakat dengan tema Curanmor. Sekaligus sebagai bahan koreksi dan pembelajaran saya terkait dengan proyek tugas akhir ini. Rasanya menjadi sia-sia proses pengerjaan animasi ini jika tidak dishare ke teman-teman di luar yang berkecimpung di dunia animasi ,baik yang baru memulai seperti saya ataupun yang telah lama bergelut di dunia animasi.

Mengapa Curanmor?
Sebelum menjadikan Curanmor sebagai tema, saya telah melakukan penelitian terkait dengan data-data kasus Curanmor di rentang waktu 5 tahun terakhir. Bagi saya data-data yang saya dapat cukup mencengangkan. Menurut data Polrestabes Semarang, hampir setiap tahun kasus Curanmor bertambah. Menjadi kasus terbanyak dalam 7 kasus menojol lainnya. Demikian rincian yang saya dapatkan: (data ini hanya mencakup wilayah Kecamatan-kecamatan di Kota Semarang saja)

2007 : 499 kasus / selesai ditangani 88 kasus
2008 : 500 kasus / selesai ditangani 111 kasus
2009 : 602 kasus / selesai ditangani 174 kasus
2010 : 430 kasus / selesai ditangani 56 kasus
2011 : 829 kasus / selesai ditangani 97 kasus

Pihak reskrim Polrestabes Semarang mengaku bahwa kasus Curanmor merupakan kasus yang paling susah untuk di tangani. Detail "susah" itu pun belum bisa diketahui pasti apa penyebabnya, saat saya wawancarai.

Sebenarnya SATBINMAS (Satuan Pembinaan Masyarakat) Polrestabes Semarang telah melakukan upaya preventif terkait dengan Curanmor ini. Untuk caranya memang masih dalam bentuk stiker dan spanduk yang ditempel di pinggir-pinggir jalan raya. Namun yang terlihat dari data di atas menunjukkan tingkat kriminalitas ini butuh penanganan yang lebih serius. Oleh sebab itulah paling tidak hal tersebut menjadi pertimbangan saya untuk mencoba mengangkat tema ini sebagai tema Proyek Tugas Akhir yang saat itu saya sebut "Maling Motor's Project"

Mengapa susah-susah meneliti?
Ini merupakan sebuah pengalaman pribadi saya, bahwa sebuah animasi yang baik, ataupun paling tidak mendekati baik, diawali dengan research lapangan. Paling tidak hal ini menjadi patokan dan pertimbangan creator animasi dalam menciptakan karya animasi. Hal ini selalu dilakukan oleh banyak produsen, studio-studio animasi profesional, dimana mereka mempunyai tim research tersendiri. Hal tersebut yang menjadikan pertimbangan saya untuk mulai menikmati sebuah "proses". :)

Lalu apakah blog ini?
Animasi ini akan dikerjakan dengan bentuk 3D. Menggunakan software opensource, diantaranya Blender, Gimp, Inkscape, LMMS dan lain-lain. Sehingga, blog ini nantinya akan berisi tentang jejak rekam pembuatan proyek tugas akhir saya, dari start hingga finish. Di dalam blog ini saya akan menulis sebuah tulisan, baik berbentuk tutorial, article, dan info apapun yang ingin saya share ke teman-teman (dalam hal ini spesifik ke "Opensource Animation"

So, keep watching my blog... and keep watch out!! your vehicles!!. ^_^

(Tinggalkan komentar teman-teman terkait dengan blog ini di shoutbox komentar)