Bagaimana membuat es realistis?

45

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.

masukkan deskripsi gambar di sini

Daniel Pendergast
sumber
Ini tutorial untuk DirectX 11 menggunakan HLSL dan C ++. Mungkin Anda bisa mendapatkan prinsipnya. Juga, di mana Anda melihat bahwa gambar itu adalah CG? Dilaporkan sebagai nyata.
MichaelHouse
Saya tidak mengatakan itu. Saya berkata "jika" itu. dan terimakasih! Saya akan memeriksanya
Daniel Pendergast
9
Fenomena itu disebut hamburan bawah permukaan. Ini disebabkan karena cahaya menembus permukaan material dan tersebar melalui medium material itu sendiri. Itu sebabnya, misalnya, telinga manusia terlihat merah saat backlit. Berikut adalah posting blog yang menjelaskan upaya seseorang untuk menciptakan efek es dengannya.
Ah, maaf saya melewatkan "jika".
MichaelHouse
@ Byte56, Tidak masalah
Daniel Pendergast

Jawaban:

53

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:

masukkan deskripsi gambar di sini

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:

David Gouveia
sumber
Anda mungkin juga ingin melihat Ambient Occlusion ( en.wikipedia.org/wiki/Ambient_occlusion ) untuk mensimulasikan penggelapan pada tebing untuk yang biasanya cukup sulit untuk dilakukan dengan hanya menggunakan bayangan.
Koarl