Правильный способ моделирования жидкости в стекле - это дублировать часть внутренней части
контейнера, закрыть его крышкой и сделать ее немного больше, чем внутренняя часть контейнера. В Corona Renderer это
правильный рабочий процесс для таких сцен, и нет необходимости использовать мульти/саб материалы, как в некоторых
других рендерах.
Еще один момент, о котором следует помнить: начиная с Corona Renderer 4, при рендеринге преломления и других объемных эффектов учитываются нормали геометрии. Это означает, что и контейнер, и жидкость должны иметь правильно установленные нормали (нормали не должны быть перевернуты при непосредственном просмотре объектов).
Примеры
a) Сетка жидкости идеально перекрывает грани внутренней сетки контейнера - это приводит к неправильным результатам, видны артефакты (огранка, треугольники).
b) Жидкая сетка немного больше, чем внутренняя сетка контейнера - это правильный метод.
c) Жидкая сетка немного меньше, чем внутренняя сетка контейнера - это дает неправильные результаты.
d) Перевернутые нормали. В этом примере нормали сетки жидкости перевернуты - это приводит к неправильным результатам (в этом случае поглощение неправильно становится чрезвычайно сильным).
Более подробно ознакомиться со всеми курсами образовательного проекта CGBandit вы можете здесь.
Перевод статьи осуществлен образовательным проектом CGBandit c официального сайта Coronarenderer.