Gerçekçi buz nasıl yapılır?


45

Unity'de iyi ve en azından yarı gerçekçi görünen bir buz gölgelendiricisi yazmaya çalışıyorum.

Aşağıdaki atış ( Google’da bulunan ) CG olsaydı, gölgelendiricisi ne olurdu? (ön mağara). Yanılıyor olabilirim ama varsayılan dağınıktan farklı bir aydınlatma modeline sahip gibi görünüyor.

görüntü tanımını buraya girin


İşte DirectX 11 için HLSL ve C ++ kullanarak bir ders. Belki prensipleri temizleyebilirsiniz. Ayrıca görüntünün CG olduğunu nerede gördünüz? Gerçek olarak rapor edildi.
MichaelHouse

Öyle demedim. "Olsa" dedim. ve teşekkürler! Ben kontrol edeceğim
Daniel Pendergast

9
Bu olguya yeraltı saçılması denir. Bunun nedeni ışığın malzemenin yüzeyine nüfuz etmesi ve malzemenin kendisinin içinden dağılmasıdır. Örneğin, insan kulağı arkadan aydınlatıldığında kırmızı görünmesinin nedeni budur. İşte birisinin onunla buz efekti yaratma girişimini açıklayan bir blog yazısı .

Ah, üzgünüm "if" yi özledim.
MichaelHouse

@ Byte56, Sorun yok
Daniel Pendergast

Yanıtlar:


53

Buz saydamdır, bu nedenle gölgelendiricinizde gerçekçi sonuçlar elde etmek için simüle etmeniz gereken en önemli şeyin yüzey altı saçılması veya kısa süre SSS olacağına inanıyorum . SSS, temel olarak ışık ışınlarının yarı saydam nesnelerin yüzeyine nasıl girdiğini ve altına dağıldığını, nihayet farklı bir bölgeden çıkmadan önce düzensiz bir şekilde defalarca yansıdığını açıklar.

İşte etkisini güzelce gösterdiğini düşündüğüm bir resim:

görüntü tanımını buraya girin

Sorunuzdaki resimden buzun oldukça yansıtıcı olduğunu da görebiliyoruz, bu nedenle muhtemelen yansımalar için bir tür çevre haritasıyla birleştirmek isteyeceksiniz ve ayrıca vurgulamaları güçlendirmek için spekülerliği arttırmak isteyeceksiniz .

Ayrıca böyle bir parça ekleme gibi diğer şeyler deneyebilirsiniz kırılma çeşit kaplayan, gürültü değişiminin biraz, hatta bir çeşit eklemek için doku yumru haritalama veya deplasman haritalama çok küçük ve ince detaylar için.

kaynaklar

Cevabı yazarken bulduğum diğer bazı kaynaklar:


Ayrıca , sadece gölgeler kullanmakta haklı olmak için sıkıntılardaki koyulaşmayı simüle etmek için Ortam Tıkanıklığı'na ( en.wikipedia.org/wiki/Ambient_occlusion ) bakmak isteyebilirsiniz .
Koarl

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.