Jak sprawić, by moje kostki lodu wyglądały naprawdę?

11

Mogę modelować kostki lodu jako lekko zniekształcone przezroczyste kostki o współczynniku załamania wody, ale nie wyglądają przekonująco. Wyglądają raczej jak bryły szkła niż lód.

Patrząc na prawdziwe kostki lodu mogę intuicyjnie opisać niektóre różnice, ale nie wiem, jakie właściwości fizyczne zmienić, aby je dopasować:

  • Kostki lodu są mokre. Mój wygląda jak suche szkło.
  • Kostki lodu są przezroczyste w niektórych miejscach, a nie w innych.
  • Kostki lodu często mają pęknięcia, które są widoczne, mimo że się nie rozdzielają.

W tym przypadku próbuję modelować kostki lodu na powierzchni (w powietrzu, nie unosić się w wodzie).

Jakie techniki muszę zastosować, aby zwiększyć realizm?

Nie szukam technik w czasie rzeczywistym, tylko do robienia zdjęć. Chciałbym, żeby lód był fotorealistyczny, nawet z bliska, i rzucał realistyczne kaustyki i cienie.

Próbowałem użyć zakrzywionych krawędzi i pokryć moje kostki lodu cienką warstwą przezroczystego materiału, aby zasymulować stopioną warstwę wody, ale nie wydaje się, aby był mokry. Próbowałem również osadzić przezroczystą kulę o połowie wielkości sześcianu w środku, z efektem mgły, ale nie wtapia się naturalnie w sześcian - po prostu wygląda na osadzony. Nawet seria zagnieżdżonych kulek ze stopniowo narastającą mgłą wciąż nie wygląda dobrze.

trichopaks
źródło
Myślę, że będzie również zainteresowany technik symulacji szorstka Refrakcja, takich jak te opisane w www-sop.inria.fr/reves/Basilic/2011/DBSHR11/... . Spójrz na zrzuty ekranu i zobacz, jak może to pomóc w renderowaniu kostek lodu!
wyciera
1
@wil Podczas gdy wyniki dla chropowatych powierzchni są bardzo imponujące (szczególnie w przypadku algorytmu czasu rzeczywistego), lód jest zazwyczaj bardzo gładki na powierzchni, a szorstki wewnątrz - prawie odwrotny efekt.
trichoplax,
3
Może tego typu pytania wymagałyby zdjęć
joojaa,
2
Czy chcesz renderować zdjęcia lub animacje? Jeśli sześcian ma być animowany, szukasz efektów w czasie rzeczywistym? I tak, gdyby nie była to prywatna wersja beta, obraz twoich obecnych wyników byłby miły.
Martin Ender,

Odpowiedzi:

3

Według Wikipedii lód ma nieco niższy IOR niż woda niezamrożona, choć nie wiem, jak bardzo ta różnica wpłynęłaby na wyniki.

„Nieprzezroczyste” części kostki lodu są spowodowane przez skupiska mikroskopijnych pęcherzyków powstających podczas zamrażania. Możesz być w stanie modelować te przy użyciu geometrii, ale biorąc pod uwagę skalę i liczbę, podejrzewam, że jakiś rodzaj uczestniczącego modelu medialnego prawdopodobnie lepiej by pasował. (Chociaż o niczym nie wiem.)

Pamiętaj również, że większość niezanurzonego lodu wkrótce utworzy cienką warstwę ciekłej wody łączącą go z powietrzem, więc może to znacznie zmienić jego wygląd.

yuriks
źródło
4

Dwa duże, za którymi tęsknisz:

  1. Odbicie zależne od kąta . Jest to jedna z możliwych przyczyn efektu „przezroczystości w miejscach i nie w innych” oraz najbardziej prawdopodobna przyczyna braku wilgoci.

  2. W kostkach lodu zwykle uwięzione są pęcherzyki powietrza. Pojawia się to jako biała gęstość mgły w środku sześcianu (dla małych pęcherzyków) lub wyraźne pęcherzyki (dla dużych). To druga prawdopodobna przyczyna twojej „transparentności w miejscach, a nie w innych”.

Techniki ich modelowania zależą od używanej metody renderowania.

znak
źródło
4

Odkryłem, że mapowanie nierówności podczas obliczania promieni świetlnych i refrakcyjnych może znacznie poprawić wygląd lodu. Sprawia, że ​​lód wygląda na teksturowany i niedoskonały, jak wyglądałaby topniejąca kostka lodu.

Zastanawiam się, czy może animacja mapy wypukłości może sprawić, że będzie wyglądać mokro, ponieważ po jej powierzchni spływają tafle wody / krople.

Poniższe zdjęcia wyglądają całkiem ładnie, ale prawdopodobnie wyglądałyby jeszcze lepiej z wewnętrznymi niedoskonałościami, o których mówią inni ludzie.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Oto mój shadertoy, skąd mam zrzuty ekranu: https://www.shadertoy.com/view/ldj3zz#

Alan Wolfe
źródło
2
Wydaje się to bliskie odpowiedzi na link. Czy możesz podać wyjaśnienie, aby można było to zrozumieć nawet bez podążania za linkiem?
trichoplax
Przepraszam, masz rację. Powinienem był dać przynajmniej zrzuty ekranu, a okazuje się, że nawet podłączyłem niewłaściwy link!
Alan Wolfe,
1
Dzięki za zdjęcia, ale interesujące byłoby również wyjaśnienie, jak to działa i dlaczego poprawia wygląd. Dobra odpowiedź powinna zapewnić zrozumienie bez konieczności opuszczania strony - wtedy linki są dostępne do dalszego czytania bardziej szczegółowo.
trichoplax
Wspomniałem, że stosujesz mapowanie wypukłości do obliczeń oświetlenia i załamania. Czy spodziewałbyś się, że moja odpowiedź tłumaczy mapowanie nierówności?
Alan Wolfe,
1
Miałem niesamowitą okazję zobaczyć kostki lodu z bliska dzisiaj podczas kolacji, i wydawały się być całkiem gładkie i bez guzków. Myślę, że istotną częścią tego jest nadanie im „mokrego” wyglądu.
yuriks,