Глубоководная каустика

Материал из Blender3D.

Перейти к: навигация, поиск

Автор: Dan Tabonet

Перевод: Striver

Содержание

Предисловие

Когда я был 8-летним ребенком, некоторые мои молодые друзья собирали загадочных существ в водяном пруду около моего дома. Я всегда вспоминаю день, когда, я впервые увидел то, что так восхитило меня: тысячи очень маленьких, очень блестящих молниеносных созданий в такой небольшой фляжке воды, я наблюдал их моими широко открытыми глазами! Это было так изумительно, я представлял себя размером с одного из них, плавая среди них... и это было мечтой! Так, с этого дня я спрашивал себя, как поделиться этим со всеми.

Много лет прошло прежде, чем я увидел один из первых пакетов 3D программ в давнем 1993 году; это была Sculpt Animate4d на платформе Amiga. Это было своего рода открытием - и вызовом: сделать мою мечту видимой другими! Но в тот момент моделирование одной единственной шахматной фигуры и поворота её вокруг себя было "куском" работы, поскольку визуализация одного кадра в решении 640X480 могло занять полчаса!

Тем не менее, пока не появилось более сложное программное обеспечение для моих потребностей в моделировании насекомых, я много готовился, думая о своей мечте. И поверьте мне, что этот тип моделирования является гораздо более сложным, чем создание космических судов. Просто бросив взгляд, например, на рисунки в 12 томах Энциклопедии Насекомых Larousse, Вы убедитесь, что воображение - ничто по сравнению с реальным миром, поскольку оно - в вашем реальном мозгу! Это было художественной, но одновременно, весьма технической проблемой. Так если бы я напутствовал будущих аниматоров, которые стесняются показывать свою работу, мой девиз Вам:

  • Наблюдайте природу
  • Учитесь у природы
  • Скромно имитируйте, и Вы пойдете туда, где никто не был перед вами, где мечты становятся реальностью...

Технические детали

Разговор обо всем "изготовлении" кино был бы слишком долгим, чтобы объяснять подробно. Некоторые примеры об объёме работы, к настоящему моменту: 14 месяцев улучшения модели около 250 раз для финального компрессированного .blend файла размером 73 Mb, включающего 555 сеток (мешей), 906 595 многоугольников, 107 Mb текстуры... Вы начинаете видеть проблему, и для финальной визуализации я должен был сделать важный выбор, и это научило меня драгоценным вещам: Например, у меня теперь лучше течет производство, поскольку я даром потерял время, масштабируя и позиционируя новые сетки (меши) на сцене вместо создания их посредством временных ссылающихся боксов (простые кубы создавались там, где я планировал делать новые объекты позднее) на сцене, экспортированием этих боксов из сцены и моделированием там новых объектов отдельно, наконец, вводя реальные новые объекты после отделения на сцену.

Другая драгоценная подсказка, которую я получил, когда я делал свое кино - то, что все объекты, которые выпадают из области видимости камеры нужно прятать в слоях посредством ключей слоя, чтобы делать визуализацию (рендер) возможной на одной машине за "разумное" время. По той же причине я должен был отключить трассировку лучей и использовать только теневые карты освещения. Это сильно повышало скорость визуализации, но существует серьезная проблема сохранения реализма: для отражения подводных сцен я должен был найти что-то, чтобы производить каустику. Эти анимированные, случайные всплески света, созданные преломлением на водной поверхности, которые можно увидеть под ней. Этот феномен труден для производства в 3d, но очень распространён в природе. Если я хотел воссоздать подводную среду, я не мог обойтись без этого. Тогда я обнаружил отличное свободное программное обеспечение, Caustics Generator, убедившее меня сделать фальшивую каустику.

Теперь давайте увидим, как это работает, чтобы создать сравнительно реалистичное подводное окружение сцены. В этом маленьком руководстве мы предполагаем знание основ интерфейса Блендера.

Сначала освещение сцены.

Рисунок 1
Рисунок 1
Вам нужно 3 лампы:
  • "Лампа Прожектор": Прежде всего, добавьте прожектор (spotlight) в чистое 3D-окно в Блендере и поверните его более-менее вниз. Установите spot как Bufferedshadow (создание теней через буфер теней), затем переключите на classic-halfway, затем угол spotbias сделайте больше 0.5, чтобы смягчить границу и сделайте его halo.
  • "Мягкая лампа": Добавьте другую лампу (типа Hemi) указывающую за камеру, и сделайте камеру её родителем (parent). Установите её мощность на высокий уровень, около 2. Вы увидите, как мы используем эту лампу позже (прим. пер. – я так и не понял, зачем эта лампа)
  • " Затемняющая лампа ": Добавьте лампу Area, установленную в отрицательную мощность 0.5 или меньше, позиционируйте её на детали, которые надо скрыт. Этот тип лампы даст потемнение на необязательных частях сцены, исчезающих из вида.

Для того чтобы сделать землю, добавьте плоскость на виде сверху и масштабируйте её пока границы не выйдут из поля зрения камеры. Установите цвет мира на черный. Вы должны видеть приблизительно это (рис. 1). (caustics001.blend)

Подготовка текстур

рисунок 2

Теперь пора подготовить нашу анимированную каустическую последовательность рисунков или ролик, которую мы используем как текстуру для проекционной лампы в Блендере. Так, сначала запустите Caustics Generator и установите параметры, как на рисунке 2 (Сейчас эти настройки НЕ желательно изменятья. Позже Вы будете способны быстро протестировать различные другие настройки, но если Вы отметите automatic preview (автоматический предварительный просмотр), будьте осторожными и перед этим отключите antialiasing (сглаживание), устанавливая Supersamples на 1х и Motionblur на 1, в противном случае построение рисунков будет делаться очень медленно).

Затем, после установки каталога, где Вы храните последовательность .bmp рисунков, отметьте Save Output (сохранить вывод) и нажимайте Render Animation.

Здесь у нас: завершенная тайловая цикличная анимация каустики, полностью пригодная для использования в блендере в "лампе прожектора". Но мы должны использовать её осторожно, чтобы избегать некоторых артефактов, поскольку тайловые текстуры могут легко проявить свою искусственность в наших глазах. Давайте вернёмся в Блендер.

Настройки

рисунок 3
рисунок 3
Давайте в нашей открытой сцене выберем лампу прожектора и добавим текстуру к ней. Затем переходите на панель Текстур и настройте её как на рисунке 3. Здесь указано, что используемая последовательность содержит 32 кадра (параметр определялся в CausticsGenerator), каждый из них используется по очереди и повторяется циклически во времени постоянно. Но в этом месте невозможно контролировать размер использованного образца. Мы должны исправить это.
рисунок 4
рисунок 4

Умным решением будет поместить плоскость под землей и назвать её REF, например. Тогда единственной вещью, которую надо сделать, это перейти на кнопки Лампы >>Texture and Input, отметить кнопку Object и ввести то же имя в область ввода: REF. Теперь, распределение текстуры лампы приспособится к размеру и позиции объекта, названного REF, как на рисунке 4 (caustics002.blend).


рисунок 5
рисунок 5
Вы теперь способны протестировать визуализацию (рендеринг). Нажмите F12.

Если образцы каустики слишком большие, Вам только надо уменьшить размеры объекта плоскости, названной REF, а если они слишком маленькие, сделать ваш объект REF больше. Это просто! Теперь, с выбранной плоскостью REF, добавьте ключ loc. Затем перейдите, скажем, на 100 кадров позже и немного переместите (только горизонтально) плоскость REF.

Добавьте тут второй ключ loc. Вы сымитировали эффект ветра на волнах, получили дрейф каустики вместе с ним.

Давайте нажмём кнопку Anim и начнём испытание... Удачного блендинга, и не погружайтесь слишком сильно в это ;)

Настройки ламп

Личные инструменты