Wie kann ich meine Eiswürfel echt aussehen lassen?

11

Ich kann Eiswürfel als leicht unförmige transparente Würfel mit dem Brechungsindex von Wasser modellieren, aber sie sehen nicht überzeugend aus. Sie sehen eher aus wie Glasklumpen als wie Eis.

Wenn ich mir echte Eiswürfel anschaue, kann ich einige Unterschiede intuitiv beschreiben, aber ich weiß nicht, welche physikalischen Eigenschaften ich ändern muss, um sie anzupassen:

  • Eiswürfel sind nass. Meins sieht aus wie trockenes Glas.
  • Eiswürfel sind stellenweise transparent und an anderen nicht.
  • Eiswürfel haben oft Risse, die sichtbar sind, obwohl sie sich nicht trennen.

In diesem Fall versuche ich, Eiswürfel auf einer Oberfläche zu modellieren (in der Luft, nicht im Wasser schwimmend).

Welche Techniken muss ich einbeziehen, um den Realismus zu erhöhen?

Ich suche keine Echtzeittechniken, nur um Standbilder zu produzieren. Ich möchte, dass das Eis auch aus der Nähe fotorealistisch ist und realistische Kaustiken und Schatten wirft.

Ich habe versucht, gekrümmte Kanten zu verwenden und meine Eiswürfel mit einer dünnen Schicht transparenten Materials zu beschichten, um eine geschmolzene Wasserschicht zu simulieren, aber es scheint nicht den Eindruck zu erwecken, nass zu sein. Ich habe auch versucht, eine transparente Kugel mit der halben Größe des Würfels in der Mitte mit einem Nebeleffekt einzubetten, aber sie fügt sich nicht auf natürliche Weise in den Würfel ein - sie sieht nur eingebettet aus. Selbst eine Reihe verschachtelter Kugeln mit allmählich zunehmendem Nebel sieht immer noch nicht richtig aus.

Trichoplax
quelle
Ich denke, Sie würden sich auch für Techniken zur Simulation der rauen Brechung interessieren, wie sie unter www-sop.inria.fr/reves/Basilic/2011/DBSHR11/… beschrieben sind . Schauen Sie sich die Screenshots an und sehen Sie, wie sich dies auf das Rendern von Eiswürfeln auswirken kann!
Wischen Sie den
1
@wil Während diese Ergebnisse für raue Oberflächen sehr beeindruckend sind (insbesondere für einen Echtzeitalgorithmus), ist Eis auf der Oberfläche sehr glatt und innen rau - fast der gegenteilige Effekt.
Trichoplax
3
Vielleicht würden Fragen wie diese Bilder erfordern
joojaa
2
Möchten Sie Standbilder oder Animationen rendern? Wenn der Würfel animiert werden soll, suchen Sie nach Echtzeiteffekten? Und ja, wenn dies nicht die private Beta wäre, wäre ein Bild Ihrer aktuellen Ergebnisse schön.
Martin Ender

Antworten:

3

Laut Wikipedia hat Eis eine etwas niedrigere IOR als nicht gefrorenes Wasser, obwohl ich nicht weiß, wie sehr sich dieser Unterschied auf die Ergebnisse auswirken würde.

Die "undurchsichtigen" Teile eines Eiswürfels werden durch Cluster mikroskopischer Blasen verursacht, die sich während des Gefrierens bilden. Möglicherweise können Sie diese mithilfe von Geometrie modellieren, aber angesichts des Maßstabs und der Anzahl vermute ich, dass eine Art teilnehmendes Medienmodell wahrscheinlich besser passt. (Obwohl ich keine kenne.)

Denken Sie auch daran, dass das meiste nicht untergetauchte Eis, das Sie sehen werden, sehr bald eine dünne Schicht flüssigen Wassers bilden wird, die es mit der Luft verbindet, so dass dies auch sein Aussehen erheblich verändern kann.

Yuriks
quelle
4

Zwei große, die Sie vermissen:

  1. Winkelabhängige Reflexion . Dies ist eine mögliche Ursache für Ihren Effekt "transparent an Orten und nicht an anderen" und die wahrscheinlichste Ursache für die fehlende Nässe.

  2. In Eiswürfeln sind normalerweise Luftblasen eingeschlossen. Dies zeigt sich als weiße volumetrische Trübung, die in der Mitte des Würfels (für kleine Blasen) oder als deutliche Blasen (für große) dichter ist. Dies ist die andere wahrscheinliche Ursache für Ihre "Transparenz an Orten und nicht an anderen".

Die Techniken zum Modellieren dieser hängen davon ab, welche Rendering-Methode Sie verwenden.

Kennzeichen
quelle
4

Ich habe festgestellt, dass die Bump-Kartierung bei der Berechnung von Licht- und Brechungsstrahlen das Aussehen von Eis erheblich verbessern kann. Dadurch sieht das Eis strukturiert und unvollkommen aus, wie ein schmelzender Eiswürfel aussehen würde.

Ich frage mich, ob das Animieren einer Unebenheitskarte vielleicht dazu beitragen kann, dass sie nass aussieht, wenn Wasserschichten / -tröpfchen über die Oberfläche laufen.

Die Bilder unten sehen ziemlich gut aus, aber mit den internen Unvollkommenheiten, über die andere Leute sprechen, würden sie wahrscheinlich noch besser aussehen.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Hier ist mein Shadertoy, von dem ich die Screenshots erhalten habe: https://www.shadertoy.com/view/ldj3zz#

Alan Wolfe
quelle
2
Dies scheint eine reine Link-Antwort zu sein. Könnten Sie eine Erklärung hinzufügen, damit dies auch ohne Verfolgung des Links verstanden werden kann?
Trichoplax
Entschuldigung, Sie haben Recht. Ich hätte zumindest Screenshots geben sollen, und es stellte sich heraus, dass ich sogar auf den falschen Link verlinkt habe!
Alan Wolfe
1
Vielen Dank für die Bilder, aber es wäre auch interessant zu sehen, wie dies funktioniert und warum es das Erscheinungsbild verbessert. Eine gute Antwort sollte Verständnis vermitteln, ohne dass die Website verlassen werden muss. Dann können Sie die Links genauer lesen.
Trichoplax
Ich habe erwähnt, dass Sie Bump Mapping auf Beleuchtungs- und Brechungsberechnungen anwenden. Würden Sie erwarten, dass meine Antwort die Bump-Zuordnung erklärt?
Alan Wolfe
1
Ich hatte eine großartige Gelegenheit, Eiswürfel heute während des Abendessens aus der Nähe zu sehen, und sie schienen tatsächlich ziemlich glatt und ohne Beulen zu sein. Ich denke, der entscheidende Teil davon ist, ihnen diesen "nassen" Look zu verleihen.
Yuriks