Saya mencoba menulis shader es di Unity yang terlihat bagus dan setidaknya semi-realistis.
Jika tembakan berikut ( ditemukan di Google ) adalah CG, apa yang termasuk shader-nya? (gua latar depan). Saya mungkin salah tetapi kelihatannya bahkan memiliki model pencahayaan yang berbeda dari difus standar.
Jawaban:
Es tembus cahaya jadi saya percaya satu hal terpenting yang harus Anda simulasikan dalam shader Anda untuk mendapatkan hasil yang realistis adalah pemencaran di bawah permukaan atau SSS. SSS pada dasarnya menggambarkan bagaimana sinar cahaya menembus permukaan benda tembus cahaya dan tersebar di bawahnya, dipantulkan beberapa kali secara tidak teratur, sebelum akhirnya keluar melalui lokasi yang berbeda.
Inilah gambar yang menurut saya menunjukkan efeknya dengan baik:
Dari gambar di pertanyaan Anda, kami juga dapat melihat bahwa es cukup reflektif, jadi Anda mungkin juga ingin menggabungkannya dengan semacam pemetaan lingkungan untuk refleksi, dan juga meningkatkan spekularitas untuk memperkuat highlight.
Anda juga dapat mencoba hal-hal lain seperti menambahkan sedikit pembiasan , melapisi semacam tekstur kebisingan untuk menambahkan sedikit variasi, atau bahkan semacam pemetaan benjolan atau pemetaan perpindahan untuk detail yang sangat kecil dan halus.
Sumber daya
Beberapa sumber lain yang saya temukan saat menulis jawabannya:
http://http.developer.nvidia.com/GPUGems/gpugems_ch16.html
http://graphics.ucsd.edu/~henrik/papers/fast_bssrdf/
http://www.jamiemccarter.com/Subsurface_Scattering_%26_Reflections_without_Rays.html
http://www.blender.org/development/release-logs/blender-244/subsurface-scattering/
http://littlecolourbakery.com/pages/research.html
sumber
Salah satu siswa saya melakukan ini beberapa tahun yang lalu (menggunakan renderman) tetapi banyak latar belakang dalam tesis http://nccastaff.bournemouth.ac.uk/jmacey/MastersProjects/MSc09/Salas/index.html
sumber