Masih belajar shader, dan meski ingin tutorial pendek yang bisa dikerjakan pagi lalu beres sebelum siang, aku punya tendensi untuk memperumit segala hal -_-.
Tutorial di atas cukup membantu untuk belajar lagi dasar shader dan membuat sprite flashing sederhana, tapi kupikir terlalu sedikit yang dipelajari. Flashing seperti ini harusnya pakai modulate juga bisa (meski bagusnya efek flashing ini bisa langsung dipake diberbagai objek dengan lebih fleksibel). Jadi, aku cari tutorial lain.
Video kedua ini juga direkomendasikan di video pertama. Ia menunjukkan lebih banyak trik shader, dan setelah ditunjukin sebuah project demo yang nampilin banyak shader, jadi keidean untuk menirunya.
Jadinya saya kembangkan hasil tutorial hari ke-8, tambah efek flashing pada karakter saat mukul dan pada box saat ditabrak. Lalu, aku menambahkan dropdown menu yang bisa mengubah jenis filter atau efek pada layar, dan mengikuti tutorial video kedua dalam menambahkan slider untuk mengubah intensitas efek.
Selain monochrome dan chromatic abberation yang diajarin video kedua, serta pixelized dari proyek demo (efek ini jelek karena yang difilter gambarnya udah pixel, lol), aku juga menambahkan efek blur yang dari tutorial kemarin. Namun, efek itu ternyata berat kalau di-web, jadi tidak dikasih slider untuk ngubah intensitasnya secara realtime.
Hasilnya lumayan menarik. Seenggaknya cukup kebayang bagaimana cara make shader. Masih penasaran untuk nyobain shader yang ngubah vertex (mengubah tepi/bentuk objek alih-alih hanya ngubah warna tiap pixel) dan cara terbaik buat implementasi dua efek shader pada satu objek yang sama; apakah bikin dua objek filter yang bertumpuk di atas objek tersebut atau bisa bikin dua efek dalam satu file shader?
Oh, catatan, karena tutorial shader banyak yang jadul, harus merhatiin:
SCREEN_TEXTUREudah ga dipake tapi banyak disebut di tutorial. Tapi bisa dipake kalau nambahin ini di atas file shader:uniform sampler2D SCREEN_TEXTURE: hint_screen_texture,repeat_disable, filter_nearest;- Method
get_material()bisa diganti propertimaterial - Method
set_shader_param()digantiset_shader_parameter()
Github: fajarfh/OneDay-OneTut: Latihan ngerjain 1 tutorial Godot tiap hari selama bulan Maret
Asset:
