3д макс создать воду в бокале

Обновлено: 07.07.2024

Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal

Вобщем-то все уже написано об этом в официальном хелпе Autodesk, но пишу подробнее, так как несмотря на имеющуюся информацию все равно пришлось разбираться.

Итак, имеется, к примеру, рюмка. Материал рюмки стекло IOR 1,51
Необходимо качественно реализовать виз вина в рюмке. Кстати, нужно понимать что вино и др. непрозрачные жидкости имеют свойство просветления в небольших объемах и наоборот (для этого используем refraction -> max distance -> color at max distance из вкладки advances rendering options Arch&Design Material)
Вся особенность заключается в правильном создании самого вина и назначении ему корректного IOR.

Для начала создадим само вино.
Выделяем полигоны рюмки, делаем их копию в отдельный объект, переводим в Editable Poly и удаляем внешнюю часть, воспользовавшись Element из стека EditablePoly.

Переворачиваем нормали наружу, создаем верхнюю часть вина, не забываем центрировать Pivot Point, и методом Alt+A помещаем получившееся вино четко обратно в рюмку! (Для чистоты эксперимента верх вина делаем немного вогнутым внутрь)

Теперь рассмотрим описанные в инете варианта виза
1. Назначем вину материал Arch&Design с настройками.

Нормали вина направлены наружу самого вина. Делаем виз, при этом если вино соответствует свободному объему бокала или чуть меньше (как бы между вином и бокалом есть небольшая воздушная прослойка). Имеем некорректный виз

2. Чтобы избежать воздушной прослойки делаем с тем же вином следующее: аккуратно увеличиваем объем, чтобы грани вина немного захватывали грани самой рюмки. Но в данной ситуации необходимо изменить IOR вина, отделяем верх вина от боковых сторон методом detach (Editable Poly) и назначаем верхней части вина IOR 1,3, а боковым - IOR 0,8. Откуда 0,8 - подробно расписано в оф.хелпе. И обязательно необходимо вывернуть внутрь нормали боковых сторон вина.
Таким образом имеем верхнюю часть - нормали направлены вверх, боковая часть - нормали направлены внутрь вина. Данный виз также нам не подходит

3. Чтобы получить правильное распределение плотности цвета в жидкости, необходимо:
- создать само вино,как описано выше,
- отделить верхнюю часть вина от боковых,
- назначить боковой части IOR 0,8, верхней - IOR 1,3
- нормали верхней и боковой частей направлены наружу
- внутренняя стенка самой рюмки, которая соприкасается с вином должна быть УДАЛЕНА

Родился в городе Владикавказ (Северная Осетия), где и проживаю в настоящее время.

Дата рождения: 15.04.89.

Хобби: графика, дизайн, игры, спорт.

От автора: Я однажды делал работу для местного развлекательного заведения (Brooklyn), где нужны были бокалы (нарисованные). На то время я ещё не очень хорошо знал настройки материалов и не смог сделать нормальные бокалы. Нам пришлось обойтись без них. Вот чтоб больше ни у кого таких проблем не было, я написал урок.

Создание Реалистичного бокала.

Конечно, создание самого бокала для многих не является большой проблемой, но всё же стоит об этом поговорить.

1. Для начала подумаем, какой же бокал нам выбрать. Возьмем, к примеру, бокал, который изображён на рисунке:

После того как мы выбрали наш тип бокала, начнем, наконец, моделирование.

2. Конечно, все знают, что бокал имеет ось симметрии и его можно получить с помощью кручения сплайна. Давайте делать сплайн:

Создаём Plane(плоскость) в окне Фронт с такими размерами:

И присваиваем ей материал с данной текстурой бокала, получаем такой результат:

Теперь мы будем обводить контур нашего бокала (только половину).

Делаем на глаз или как на картинке:

На рисунке отмечены две точки (начало и конец сплайна). Необходимо в окне Топ сделать так чтобы эти две точки были друг под другом, чтобы в дальнейшем у нас не было проблем с моделью.

Теперь немного подкорректируем наш сплайн, т.е. сделаем точнее некоторые детали. Например, вот эту:

Как видите края у нас точно не такие как у настоящего бокала. Если бы они были такие, все, кто бы ни выпил из такого бокала, приходили домой со ртом до ушей. Необходимо этот краешек сделать гладким. Для этого нам необходима одна точечка между двумя этими точками:

Для этого нам надо выделить сегмент, соединяющий эти две точки. Вот так:

Затем в Разделе Геометрии найти вот это:

Цифра справа управляет количеством точек, разделяющих наш сегмент. Оставим значение 1 и нажмём Divide(Деление). Получим новую вершину, которая располагается там, где нам и нужно:

Затем делаем так, чтобы наши крайние вершины стали Bezier Corner(угол) а средняя Bezier. И делаем как на рисунке:

Одну вещь мы исправили, перейдём ко второй. Вот она:

Дело в том, что та область, куда наливается содержимое бокала, должна быть гладкой. Т.е. при вращении нашего сплайна в этом месте не должно быть острия:

Сделаем выделенную точку бизие и исправим ошибочку:

То же самое и здесь:

Повторяем наши действия:

Теперь мы подошли к серединке. Крутим сплайн, для этого в свитке модификаторов находим модификатор

Когда мы выберем этот модификатор, будет такая картина:

Так получилось, потому что по умолчанию за ось вращения ставится центр сплайна. Поменяем на Минимум. Получим вот что:

Наблюдайте разницу. (Вид сверху «TOP»):

После исправлений у меня получился вот такой бокальчик:

Удаляем Plain, он нам уже не нужен. Вот наша модель бокала в перспективе:

3. Начнем, наконец, готовить наш бокал к рендерингу.

Я буду использовать:

Настройки рендеринга пока подождут нам необходимо создать сцену.

Для начала создаём цилиндр с такими размерами:

Высота нам не важна, так как мы сейчас удалим точки нижнего основания цилиндра. Выделяем и удаляем, прежде, применив к нашему цилиндру модификатор Edit Poly:

Получили такую округлую плоскость, на которой располагается наш бокал:

Но мы ещё не закончили.

Вновь переходим на редактирование вершин (можно полигонов) и удаляем половину нашей поверхности:

Далее делаем следующее:

Теперь обратимся к стёку модификаторов и найдём там Symmetry:

Если после применения модификатора получилось так:

Т.е. исчезла наша плоскость, то просто поставьте галочку и ваша плоскость появится такой, какой она нужна нам:

После того, как у нас получилась плоскость, необходимо её сгладить, для этого применяем модификатор MeshSmooth (сглаживанние) или TurboSmooth (турбо сглаживание) (количество итераций выбирайте на своё усмотрение):

Я использую Турбо.

4. Начнём присваивать материалы

Заходим в Material Editor и для плоскости создадим материал VrayMtl:

Меняем цвет материала на такой:

Присваиваем материал к плоскости.

Теперь во второй ячейке Material Editor’a создаём тоже VrayMtl и настраиваем его так.

На против Reflect нажимаем на прямоугольничек (там где у меня «м»), выбираем карту Falloff:

Поменяем кривую вот так:

Далее нажимаете сюда:

И из списка выбираете Output:

Далее можете поставить галочку здесь и при просчёте изображения можете поиграть со значениями этого параметра:

Вроде материал бокала готов.

Применим его к нашему бокалу.

5. Настало время подумать над камерой и освещением.

Мы будем использовать VrayLight:

Вот четыре окошка, по которым можно создать необходимое положение освещения:

Теперь их настройки:

У маленьких по краям такая настройка:

У среднего - такая:

Камеру делаем так:

Если посмотреть на наш бокал из камеры, получится такое изображение:

И не забываем поставить галочку (чтоб сохранить пропорции и не получить искажения):

Всё. Сцена готова.

6. Остался последний штрих – НАСТРОЙКА РЕНДЕРИНГА.

По выбранному нами источнику света ясно, что рендерить будем во Vray.

Как и с настройками материалов я не буду углубляться в это дело, просто покажу несколько скриншотов с уже настроенным рендерингом:

Вроде основные изменения я показал.

Ну и самое последнее. Я для окружения возьму HDRI. Использую всем доступную «kitchen.hdr», если у кого нету, то её можно скачать здесь. Не буду объяснять, как это делается (сами, наверное, догадываетесь почему).

Если Вы сделали всё как следует ранее, то должен получиться вот такой бокал:

Всем привет! Времени написать что-то свежее все еще нет, поэтому выкладываю одну из своих старых работ-переводов. В ней мы рассмотрим процесс визуализации стакана наполненного жидкостью, настроим глобальное освещение и каустику, а также поговорим о подводных камнях подобного рода визуализаций.

Маленькое лирическое отступление

В уроке снова присутствуют фрейм-штампы. И за них я снова приношу извинения, и напоминаю, что это сделано не для пиара и рекламы. Просто, урок вытаскивается из закромов умирающего сайта, а оригиналов картинок давно уж нет.

Вступление

  • жидкость и поверхность не соприкасаются, и между ними имеется промежуток. Это подход прост и не требует никакой особой поддержки от визуализатора, однако результат не выглядит реалистично. Этот промежуток между двумя поверхностями заставляет быть жидкость похожую на твердый объект.
  • жидкость накладывается на сосуд. Этот подход потенциально производит намного более реалистические результаты, но требует специальной поддержки от визуализатора, потому что визуализатор должен следить какие поверхности пересекались на пути луча и вычислять индекс преломления. Без этой поддержки этот метод не может быть использован. К счастью V-Ray поддерживает эту возможность и это дает возможность пользоваться этим методом.
  • третий подход состоит в том, чтобы моделировать соприкосновение поверхностей отдельно. Этот метод наиболее труден — особенно в мультипликации. Этот подход вводит третий объект в сцене с отдельным материалом, который все усложняет. Кроме того этот метод не очень хорошо работает с такими вещами как дым в стеклянном сосуде — в этом случае V-Ray не может сделать переход между стеклянным/жидким материалом и поверхностным материалом интерфейса и не может правильно рассчитать преломление.

Первичная визуализация

1.1. Откройте изначальную сцену, которая находится здесь.

1.2. Установите V-Ray в качестве текущего визуализатора.

1.3. Для того чтобы сделать тестовые рендеры сцены более быстрыми откроем свиток "Image sampler" и в выпадающем списке выберем значение "Fixed".


Также, включим "GI" и немного настроем для получения более быстрого результата.

1.4. В свитке "Indirect illumination" включим "GI" и установим "Light cache" в качестве "Primary и Secondary GI engines".

1.5. Выключим Refractive GI. Карту фотонов мы добавим позже, когда будем визуализировать финальное изображение.


1.6. В свитке "Light cache", установим значение "Sample size" равное '0,04' для получения менее шумного результата.

1.7. Переключите режим фильтрации в режим "Fixed" и установите значение «Filter size'равное '0,08'.

1.8. Выключите опцию „Store direct light“, потому что мы будем вычислять направленное освещение отдельно.

1.9. Установите значение „Subdivs“ равное '500'.


1.10. Так же по желанию можно включить штамп в свитке „System rollout“.


1.11. Сделаем тестовый рендер.


Визуализация жидкости

Теперь, когда у нас есть сосуд, то логично, что необходимо добавить в него жидкость.

2.1. Сделаем видимым объект под названием „liquid inside“. Если поглядеть на него с вида „Front“, то можно заметить, что между ним и стенками сосуда есть небольшой промежуток, так и должно быть не изменяйте этого.



2.3. Скройте объект „liquid inside“ и сделайте видимым объект „liquid overlapped“. В окне вида „Front“ прекрасно видно, что жидкость накладывается на стенки сосуда.



Как мы видим, теперь картинка выглядит гораздо лучше, жидкость касается стенок стакана.

Финальная визуализация

Для финальной визуализации мы улучшим качество сглаживания и добавим каустику.

3.1. Включим каустику в свитке „Caustics“.

3.2. Установим значение „Max. density“ равное '0,2' — этим мы ограничим плотность фотонов каустики и получим более гладкий результат.

3.3. Значение „Search distance“ установим равное '2'. Обычно увеличение значения „Max. density“ в 5 — 10 раз дает хороший результат.

3.4. Значение параметра „Max. photons“ установим равное '0' — это заставит V-Ray считать все фотоны в пределах дистанции поиска.



Теперь визуализация займет немного больше времени, так как V-Ray вычисляет каустику. Как мы видим, теперь мы имеем каустику в сцене, но ее результат весьма шумный. Для уменьшения шума мы увеличим значение „Caustics subdivs“ для источника света.

3.6. Выберем „VRayLight“.

3.7. Правый клик на окне проекции, выбираем „V-Ray properties. “ и попадаем в диалог „V-Ray Light settings“


3.8. Установим значение „Caustics subdivs“ равное '4000'.


Теперь каустика выглядит еще лучше и мы может оставить эти настройки для финальной визуализации. Если Вы хотите получить еще более гладкий результат, то увеличьте „Caustics subdivs“ и/или „Search distance“.

3.10. Для ускорения последующих результатов визуализации сохраните карту каустики в файл и установите режим загрузки каустики из файла.

Теперь мы улучшим сглаживание и уменьшим шум от пятна света.

3.11. В свитке „Image sampler“, установите „Image sampler type“ в положение „Adaptive DMC“.


3.12. В свитке „DMC Sampler“, установите значение „Noise threshold“ равное '0,002'.


3.13. Установите значение „Global subdivs multiplier“ равное '8' — это уменьшит количество шума от пятна света.

alt

Материал воды достаточно легко настраивается. Например, в CoronaMtl для этого понадобится изменить всего несколько основных параметров. Для большей реалистичности можно добавить одну стандартную процедурную карту. И после таких несложных действий можно получить отличный финальный результат. Но в статье будут описан и другой, более сложный метод настройки прозрачного материала воды.

Поверхность воды можно создать из одного полигона. В качестве геометрии для воды можно использовать Plane или Box. Они находятся в меню Create – Geometry – Standard Primitives.

Plane

1. Основные настройки материала

Откройте Material Editor (горячая клавиша «M») и создайте материал Materials – Corona – CoronaMtl. В материале нужно задать следующие параметры:

Изменять цвета и снижать Diffuse Color не обязательно. При полной прозрачности влияние цветов мало заметно. По настроенным свойствам материал напоминает стекло. Но отличие от стекла заключается в параметре IOR, величину которого можно найти в Сети.

С помощью указанных настроек получится материал чистой воды. А как отрендерить получившийся материал вы узнаете из статьи «Как сделать рендер в 3ds Max».

CoronaMtl

2. Bump и Volumetric

Для большей реалистичности можно создать рябь на поверхности воды.

Волны или рябь можно сделать, назначив процедурную карту Noise к параметру Bump. В зависимости от сцены, может понадобиться изменить интенсивность выдавливания в CoronaMtl – Maps – Bump. Также понадобится изменить размер карты Noise – Noise Parameters – Size.

Bump

Карта Noise создаст неровности, которые можно увидеть на рендере.

В зависимости от угла обзора вода может иметь разный цвет. Например, при наличии Corona Sky, если опустить камеру ниже, то вода будет выглядеть более синей.

Noise

Если вода должна иметь более насыщенный цвет или быть грязнее, то это можно установить с помощью Volumetrics and SSS. Для этого понадобится установить Mode: Volumetric scattering, затем установите нужный цвет Absorption Color. Для включения эффекта нужно увеличить значение Distance.

Distance нужно делать достаточно большим, чтобы материал был не слишком темным. Универсального значения Distance нет. Для каждой сцены и каждого материала жидкости придется подбирать его самостоятельно.

На рендере слева – вода с включенным свойством Volumetrics scattering, слева – материал без указанного свойства.

Volumetrics scattering

3. Особенности Refraction Color и Caustics

Refraction Color может придать цвет толще воды, как Absorption Color. Однако Refraction Color не создает объемного цвета. Он будет одинаковым по всему объему воды. Volumetrics and SSS усиливает интенсивность цвета в зависимости от «глубины».

Refraction Color

Установка флажка Caustics включает физически корректный расчет каустики для всего, что имеет прозрачность. Настраивать каустику практически нельзя. Более того, изменение параметров типа Volumetrics scattering или Refraction Color могут практически не влиять на материал.

Caustics

Для улучшения каустики можно установить несколько скрытых настроек Corona Renderer. Для этого нажмите Render Setup – System – System Settings – Enable devel/debug mode. Затем нужно установить Performance – Development/Experimental Stuff – Render engine: Bidir/VCM. Установив этот движок, перейдите в Bidirectional Pathtracing/VCM Render Engine – Use MIS – Mode: [VCM] Vertex connection and merging.

Экспериментальные настройки

С данными настройками стоит быть очень аккуратным, т.к. они экспериментальные. Более того, улучшив рендер каустики, может сильно измениться результат для материалов без этого свойства. Результат можно увидеть ниже.

Читайте также: