Слишком много внимания для новичков в последнее время, пора бы и бывалых блендеристов уважить ;) В этом ролике мы будем создавать интерактивную свечку с помощью, практически, всего арсенала Blender. Будет задействовано все, кроме Grease Pencil и драйверов.
Видеоурок и демонстрация результата
Текстовый урок
По началу все спокойно. Берем цилиндр на 256 вершин и с помощью пропорционального редактирования придаем ему следующую форму.
Если вы мастер скульптинга, то можете уже сейчас к нему приступить и создать крутую свечку. Остальным же предлагаю немножко считерить и создать базу для скульптинга с помощью симуляции жидкости.
Тут все достаточно просто, главное убрать брызги и настроить необходимую вязкость жидкости.
Когда результат симуляции нас устроит, нужно скопировать домен, а результат работы предыдущего объединить со свечкой и воспользоваться воксельным ремешером (предварительно применив все модификаторы).
Это процедуру нужно повторять до тех пор, пока свечка не станет похожей на свечку, за исключением мелких доработок, которые мы будем производить в режиме скульптинга.
По завершению всех симуляций жидкости обрежьте с помощью Boolean все лишнее и еще раз сделайте ретопологию объекта. Назначьте Smooth шейдинг и можно переходить в режим скульптинга и доводить свечку до финального результата.
В режиме скульптинга нам будет достаточно 5 кистей:
- Inflate для создания капель.
- Smooth сгладит все и вся. Самая крутая кисть в принципе.
- Scrape позволит быстро разгладить острые углы.
- Grab позволит легко подкорректировать форму.
- Flatten создать плоскую поверхность в самом конце.
Фитиль создадим простым добавлением кривой. Даже кончик закрывать не будем и так не плохо смотрится.
Настало время симуляции тканей. Создаем 4 вершины и для каждой назначаем вес (снизу вверх): 1, 0.5, 0.3, 0.1. Указываем симуляцию для данного объекта и в качестве Pin-группы указываем только что созданную группу вершин.
Если запустить анимацию, то объект начнет прогибаться под силой гравитации, но если ее изменить с -9.8 на +50, то объект постоянно будет устремляться вверх, как это делает огонь.
Теперь сама суть. Нам нужно заставить кости вести себя так же, как это делают вершины меша. Для этого привязываем к каждой вершине пустышку (Ctrl + P). Затем создаем три кости и в режиме позирования назначаем для каждой ограничитель IK.
Добавляем в сцену UV-сферу, придаем ей форму огня в состоянии покоя и связываем с нашим риггом. В данном случае даже автоматическое назначение веса даст адекватный результат.
Так как сфера низкополигональна, назначим пару модификаторов, чтобы сделать ее похожей на огонь даже во время изгибов и привяжем ее и риг к фитилю, который в свою очередь привяжем к свечке.
На данном этапе при перемещении и вращении свечки UV-сфера должна вести себя так, как это делает огонь у свечи.
Настраиваем шейдер огня. Помимо нодов на картинке ниже нужно активировать прозрачность в настройках материала для сферы и Bloom на вкладке рендера.
Света от одного лишь шейдера Emission нам не достаточно, поэтому добавим в сцену лампу Point и привяжем ее в центре UV-сферы, чтобы она также всегда и везде следовала за нашим огнем.
Добавим в сцену плоскость в качество пола, и настроим для нее следующий шейдер (также включаем прозрачность в настройках материала). Настройка мира видна на картинке ниже.
Настраиваем шейдер самой свечки. В настройках материала активируем опцию Subsurface Translucency.
И последний шейдер для фитиля. Здесь все просто.
Совершенству нет предела, поэтому добавим модификатор смещения с текстурой Clouds и будем изменять координаты этой текстуры с помощью объекта-пустышки, который движется на протяжении 120 кадров с постоянной скоростью вверх.
Чтобы модификатор не воздействовал на весь объект, создадим группу вершин (Displace) и настроим веса так, чтобы в верхней части воздействие было максимальным, а в нижней его не было вовсе.
Лампу также можно улучшить. Для этого анимируем с помощью модификатора Noise ее параметры силы и радиуса света. Контактные тени тоже лишними не будут.
Вот и все! Теперь можно брать эту свечку и попросту перемещать по сцене во время анимаций и при этом получать очень реалистичные результаты.
Улучшить можно практически каждый аспект: качество симуляции ткани, количество вершин для ткани, количество костей… Но даже при таком простом подходе результат довольно не плох.
Эту технику можно применять для многих риггов и использовать не только симуляцию тканей. Кости + физика открывают множество дополнительных возможностей. Если создадите что-то эдакое — поделитесь в комментах. Буду рад это увидеть ;)