Bagaimana cara Anda membangun efek penglihatan inframerah realistis dengan shader? Yang realistis maksud saya yang terlihat realistis, seperti contoh ini .
Saya punya ide tentang membuat tekstur untuk menentukan berapa banyak panas yang dipancarkan suatu bahan dan kemudian menentukan dengan menggunakan produk titik normal dan melihat vektor berapa banyak panas yang mencapai pemirsa, tetapi saya bahkan tidak yakin bahwa ini adalah bagaimana penglihatan termal bahkan berfungsi jadi saya ingin memeriksa apakah ada pendekatan yang lebih baik sebelum mulai menerapkan sesuatu yang mungkin sepenuhnya salah.
Jawaban:
Ada IR, dan kemudian ada IR. Kisaran panjang gelombang cahaya yang biasa disebut " inframerah " memanjang dari tepi rentang visual manusia (sekitar 700 nm) hingga 1 mm = 1.000.000 nm.
Jawaban Philipp tepat untuk cahaya "hampir-inframerah" (sekitar 700 hingga 1.400 nm), yang pada dasarnya sama seperti cahaya tampak normal, kecuali bahwa itu tidak terlihat oleh mata manusia tanpa bantuan. Untuk memodelkan penglihatan dekat-IR, Anda hanya akan mengganti tekstur objek dan warna sumber cahaya dengan yang alternatif yang memodelkan pantulan dan intensitas cahaya pada panjang gelombang yang berbeda dari biasanya
Namun, berdasarkan kata-kata dari pertanyaan Anda dan video yang Anda tautkan, Anda tampaknya lebih tertarik pada kisaran "termal inframerah" (8.000 hingga 15.000 nm), yang sesuai dengan puncak spektrum radiasi termal dari sebagian besar benda sehari-hari , termasuk tubuh manusia. Radiasi ini masih berperilaku seperti "cahaya" dan dapat dimodelkan menggunakan teknik grafis komputer standar (berbeda dengan gelombang radio , di mana panjang gelombangnya cukup panjang sehingga asumsi standar optik sinar mulai rusak), tetapi dunia seperti terlihat dalam inframerah termal memang memiliki kekhasannya:
Seperti disebutkan di atas, sebagian besar objek akan menyala di IR termal. Untuk cahaya tampak, Anda biasanya dapat mengasumsikan bahwa hanya ada beberapa sumber cahaya aktual, dengan yang lainnya hanya memantulkan cahaya yang dipancarkan oleh sumber lain. Untuk IR termal, tergantung pada panjang gelombang yang tepat yang dipilih, kebalikannya sering terjadi.
Sebaliknya, sebagian besar permukaan juga akan menyerap IR termal dengan cukup efisien. Ini akan, pada gilirannya, menghangatkan mereka, menyebabkan mereka memancarkan kembali lebih banyak IR sendiri. Efeknya, seolah-olah hampir setiap permukaan adalah berpendar .
Spektrum IR termal (yaitu "warna") yang dipancarkan oleh sebagian besar permukaan terutama akan tergantung pada suhu mereka. Emisivitas intrinsik material permukaan memang memiliki efek juga, tetapi yang relatif terbatas.
Dengan demikian, dibandingkan dengan penglihatan cahaya normal, pemodelan penglihatan inframerah termal realistis akan memerlukan lebih banyak penekanan pada penerangan global dan pada perubahan nilai emisivitas dinamis. Tergantung pada pengaturan Anda, Anda mungkin bisa menipu sedikit di sini: misalnya, untuk adegan statis, radiasi fungsi thermal transfer global yang dapat dijalankan sekali dan dipanggang menjadi statis lightmap , seperti Anda akan lakukan untuk pencahayaan global palsu di spektrum yang terlihat.
Jika Anda ingin mensimulasikan tampilan melalui kamera termografi di game Anda, saya sarankan setidaknya yang berikut ini:
Gambar dan / atau hitung emisivitas IR khusus dan / atau tekstur reflektifitas untuk objek Anda. Berikan perhatian khusus pada emisivitas objek hangat (seperti manusia atau mesin), yang harus sesuai dengan suhu permukaannya. Reflektivitasnya relatif kurang penting.
Anda mungkin ingin menggunakan hanya satu saluran spektral (yaitu menggambar semuanya dalam monokrom) yang sesuai dengan fluks IR total termal. Anda dapat memposting proses gambar dengan memetakan nilai skala abu-abu yang dihasilkan ke dalam gradien warna palsu untuk mensimulasikan irisan kerapatan tradisional yang digunakan untuk gambar termal.
Pertimbangkan untuk secara eksplisit melacak suhu permukaan Anda, sehingga, katakanlah, tempat di tanah tempat seseorang berbaring akan tetap hangat (dan karenanya bercahaya pada IR) untuk sementara waktu bahkan setelah orang tersebut pindah. Ada beberapa cara Anda bisa mengatasinya (misalnya pelacakan suhu per-verteks, menambahkan decals untuk perubahan suhu lokal sementara, dll.) Dengan berbagai trade-off antara realisme dan biaya komputasi. Anda mungkin tidak perlu membuatnya sangat realistis, tetapi bahkan menghadirkan efek ini sama sekali akan menjadi sentuhan yang bagus.
sumber
Apa yang biasanya Anda lihat dari dunia adalah bagian visual cahaya yang dipantulkan oleh objek. Objek hijau hanya memantulkan cahaya hijau, objek merah hanya lampu merah dan objek biru hanya cahaya biru. Infra-merah dapat dianggap sebagai warna keempat yang tidak bisa dilihat mata Anda. Sebuah kamera infra-merah membuat cahaya infra-merah terlihat oleh Anda dengan melihatnya dengan sensor dan mengubah gambar infra-merah menjadi panjang gelombang yang dapat Anda lihat.
Sama seperti beberapa bahan yang kurang lebih cerah dalam warna merah, hijau atau biru, mereka juga berbeda terang dalam IR. Kecerahan IR dapat tetapi tidak harus sesuai dengan seberapa terang itu dalam cahaya tampak.
Berikut adalah adegan yang terlihat dan di IR. Perhatikan bagaimana daun pohon jauh lebih terang di IR daripada batangnya, tetapi kecerahan IR dari berbagai bagian fasad bangunan serupa dalam cahaya tampak dan IR.
Apa yang dapat Anda lakukan adalah membuat dua versi dari semua tekstur Anda: tekstur RGB untuk cahaya tampak dan tekstur monokrom alternatif untuk infra-merah. Dalam mode normal Anda menggunakan tekstur RGB dan dalam mode IR Anda menggunakan tekstur IR.
Anda mungkin juga mempertimbangkan untuk menggunakan berbagai sumber cahaya dalam mode IR. Matahari menghasilkan cahaya IR sebanyak cahaya tampak. Tetapi sumber cahaya buatan (seperti lampu halogen atau dioda pemancar cahaya) menghasilkan sedikit atau hampir tidak ada cahaya IR, sehingga mereka tidak menerangi apa pun dalam infra merah. Di sisi lain ada sumber cahaya yang jauh lebih kuat di IR (seperti api terbuka) atau hanya terlihat di IR (objek panas yang tidak cukup panas untuk bersinar merah. Atau sumber cahaya IR buatan. Apakah Anda tahu bahwa ketika Anda memakai kacamata IR, Anda dapat menggunakan remote TV sebagai senter?). Kondisi cahaya yang berbeda dalam cahaya normal dan IR bisa menjadi elemen gameplay yang menarik.
sumber