3D Engineering

...Лучшее из общего.

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

И днищем и

Steve "Chuggnut" Johnson

На сей раз речь пойдет о море. Я протяну руку помощи всем заблудшим душам, которые стремятся cмоделировать воду.

Вот готовый видео клип...

Если же вам невмоготу ждать, пока он загрузится, взгляните на эту картинку:


Начнем с простого, - со сплайна, или, точнее, с окружности. Сделайте большую окружность, которая послужит контуром вашего океана. Затем примените к ней модификатор extrude. Не забудьте установить для capping опцию grid.



У вас получится нечто в этом роде, фактически, то же самое. Мы еще недостаточно продвинулись, чтобы можно было что-нибудь напутать. Затем следует применить модификатор mesh edit. Теперь нужно сделать волны. Прежде всего, нужно выбрать грани, которые будут для этого нужны. Конечно, можно выбрать их и вручную, но это доставит большое неудобство в случае, если захочется поменять положение камеры. Воспользуемся для этого модификатором volume select. Таким образом, мы сможем динамически выбирать грани, содержащиеся в контуре (gizmo). Установите параметры модификатора select faces и cylinder selection. Поскольку мы имеем дело с плоским объектом, вы можете обнаружить, что если установите гизмо слишком маленьким, то ничего не выберется. Если вы проведете 2D масштабирование в плоскости X/Y, то получите следующее изображение:

Теперь у нас выбран небольшой участок, состоящий из граней. Перед использованием модификатора volume select, я установил видимость всех граней сетки, чтобы видеть все происходящее. Затем я применяю к выбранной области модификатор tesselate с 2-мя или 3-мя итерациями. У вас должно получиться следующее:

Посередине круга появится густая сетка. Наступила пора сделать волны. Это можно было бы сделать при помощи модификатора wave, но, боюсь, тогда придется слишком много думать. Итак, воспользуемся пространственными волнами. Сейчас я собираюсь пристегнуть три волны- одну очень большую, которая изобразит движение типа прилива, и еще две маленькие почти одинаковые волны, повернутые на разные углы относительно большой волны. Не забудьте анимировать фазу волн, чтобы было видно, как они движутся. Я использовал очень небольшую фазу- до 3 на 500 кадров. Постфактум, мне кажется, что это слишком долго, но, в общем, получилось ничего. Фаза большой волны должна быть совсем маленькой. Имейте в виду, что объекты, движущиеся медленно, кажутся больше.

Это картинка с волнами.

Не забудьте связать волны с поверхностью воды, - воспользуйтесь для этого кнопкой . Поскольку воздействие будет оказано только на мозаичные участки (tesselated), внешняя область круга останется ровной, то есть горизонт будет спокойным. Если же вы хотите увидеть волнение и по краям, как в пруду, то ничто не мешает вам применить tesselate после mesh select.

Чтобы добиться натурализма, добавим текстуру. Итак, какие же у воды свойства? Только не говорите, что она мокрая. Она прозрачная, зеркальная, и искажает предметы, когда смотришь сквозь нее. Включаем редактор материалов. Создаем новый материал water. Задаем прозрачность 20%- не стоит задавать 0, поскольку вода, все-таки, не совсем прозрачна. Теперь установим цвета для diffuse и ambient- темно синий и очень темно синий соответственно. Чаще всего вы не будете видеть эти цвета, но все равно нужно их определить. Для цвета specular назначьте белый . Вода блестит, поэтому определите нужным образом параметр shineness. Пусть у графика яркости будет такой же высокий пик, как на рисунке ниже.

Скопируйте все установки с картинки, за исключением supersample.

Созданные нами пространственные волны создадут движение воды, но у реальной воды бывает куда более сложная текстура поверхности. Чтобы решить эту проблему, прибегнем к помощи bump mapping. Для тех, кто не знает, что это такое, - bump mapping- это создание иллюзии текстуры для бедных- то есть без реального ее моделирования. Классический метод создания текстуры воды, - использование карты шума (noise). Мы воспользуемся этим приемом в несколько переиначенном виде. Мы построим двухуровневую карту. Для этого я взял карту mix, нажав на кнопку рядом c надписью bump и выбрав ее из списка. Карта типа mix предназначена для смешивания между собой двух исходных карт. Перейдите к первой компоненте и выберите шум. Назовите эту карту "Big noise". Установите размер для шума приблизительно 25. Затем перейдите ко второй компоненте, снова выберите шум и назовите карту "small noise". Установите размер этого шума в 1 и поднимите нижний порог до 0.4. Это нужно, чтобы изменить разницу между белым и черным. С такими параметрами мы получаем очень темный фон с ярко-белыми вкраплениями. Вернитесь к смешанной карте и установите соотношение между двумя типами шума. 0 означает присутствие только шума "big noise", а 1- что у вас используется только "small noise". Я воспользовался величиной в районе 0.1- много "big noise" с едва заметным налетом "small noise".

С этим материалом осталось сделать еще пару фокусов, - добавить немного отражающей способности и пустить рябь. В реальности отражающая способность зависит от угла, под которым мы смотрим на воду. Если вы смотрите прямо сверху, то она вообще почти ничего не отражает. Но если вы посмотрите под углом, то отражающая способность возрастет. Я мог бы написать выражение, связывающее отражающую способность с углом, под которым размещена камера, но поленился. Это была бы довольно трудная работа, поэтому я решил выбрать такое значение параметра, которое подошло бы во всех случаях. Прежде всего, необходимо чтобы синий цвет отчетливо просматривался во всех случаях, поэтому я установил значение 20%.Для отражения я собирался воспользоваться готовой картинкой, но, потом решил, что сгенерированное отражение будет иметь лучшую детализацию. На этом этапе нужно выбрать, что именно будет отражаться, и настроить окружение. Я выбрал в редакторе материалов пустой слот и нажал кнопку "get material". Затем я выбрал из списка bitmap и взял для отражения картинку с облаками. Стоит удостовериться, что mapping type имеет параметры environment и spherical. Чтобы усложнить картинку, я несколько раз ее размножил. Теперь надо перейти в environment setting в меню render. Нажмите на кнопку рядом с надписью background и перейдите в редактор материалов. Выберите текстуру облаков. Это означает, что в воде будут отражаться облака. Теперь надо сделать рябь. Это называется рефракцией. Существует (по крайней мере, в 3dmax 2.5) три вида рефракции:
1. refelect/refract
2. thinwall refraction
3. raytraced.
Поверьте, я перепробовал все, причем неоднократно. Но лучшим в этой ситуации оказалась thinwall. Этот вид хорош еще и тем, что у него мало настроек. Я просто установил bump effect =3, чтобы больше внимания уделялось карте неровностей. Уровень рефракции я установил равным 50%, а IOR (индекс рефракции)- равным 1.8. Я знаю, что это- не IOR воды, но выглядело все прилично.

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

Затем я поместил внутрь камеру. Вод вид из этой камеры:

Вот и все. Еще я добавил немного motion blur для воды, взяв стандартные значения. Затем запустил рендеринг через video post, воспользовавшись фокусом lensFX (который обламывается 9 раз из десяти, но на этот раз все прошло гладко). Возможно, если бы я переделывал это сейчас, то сделал бы волны немного побыстрее, но в остальном все получилось вполне прилично.

 

Архив статей

 фев   Март 2020   апр

ВПВСЧПС
  1  2  3  4  5  6  7
  8  91011121314
15161718192021
22232425262728
293031 
Julianna Willis Technology

Случайная новость

Как Das Werk и Double Negative с помощью Maya вернули к жизни Вторую Мировую

Фильм "Враг у ворот", созданный режиссером Жаном-Жаком Анно ("Имя Розы", "Медведь") на студии Mandalay Pictures снискал признание зрителей и критиков по всей Европе. Он открывал престижный кинофестиваль в Берлине. Целое созвездие актеров: Джуд Ло, Эд Харрис, Джозеф Фьенс, Рашель Вайсц и Боб Хоскинс дополненное более чем тремя сотнями визуальных эффектов позволило создать поражающую картину битвы под Сталинградом.

Чтобы воссоздать атмосферу осажденного фашистами русского города, страдающего от постоянных бомбежек, специалисты компаний Das Werk (Германия) и Double Negative (Великобритания) обратились к известной программе Maya, созданной Alias|Wavefront.

На протяжении полугода 32 сотрудника Double Negative занимались созданием 58 самых сложных кадров. "В основном мы занимались моделями самолетов и города" - рассказывает Джеспер Кйорлсруд, руководивший группой визуальных эффектов Double Negative в этом фильме. "Первый эпизод в фильме - вид разбомбленного Сталинграда с высоты птичьего полета. Этот эпизод полностью сделан в Maya. Мы использовали проекции, чтобы нанести текстуры на карты. В принципе, это та же видеомаска. Мы наносили слой за слоем на 3D-модель, прежде чем перевести ее в плоское изображение".

"В анимациях мы старались использовать как можно больше реальных элементов. Например, всплески воды от падающих снарядов. Мы снимали реальные всплески, а затем дорабатывали их в Maya. Да и большинство вроде бы естественных явлений в фильме - разрывы снарядров, отражения, дым, выхлопы - дорабатывались в Maya с помощью системы частиц", - продолжает Кйолсруд. "Успех нашей работы заключается как раз в том, что зрители не видят, что это компьютерные спецэффекты".

"Юнкеры" и "мессершмиты" тоже смоделированы и текстурированы в Maya - над ними работали технические директоры Double Negative Фли Джамма, Питер Беб и Джулиан Манн. Шейдеры для этого разработал Мартин Хилл, а снимки самолетов организовали и анимировали Кйорлсруд, Ф. Франклин, а также ответственный за анимацию Шейла Дан.

В процессе предварительной визуализации сотрудники Double Negative обработали целый район, где должно было происходить форсирование Волги. Они вели съемки зафиксированной камерой, а затем цифровыми методами создавали иллюзию ее движения. Также снимались панорамы, которые затем проецировались в Maya. Позже, при доработке фильма, это позволяло "перемещать" камеру и менять планы. Такой творческий подход позволил сохранить немало времени. "Мы целиком и полностью зависели от Maya, с нее начиналось создание трехмерных эффектов", - рассказывает Кйорлсруд. - "Maya - очень гибкая программа, не возникало надобности привлекать программистов С++, чтобы писать плагины - мы со всем справлялись своими силами. Кроме того, в Maya быстрый и понятный интерфейс. А тесная интеграция с Render Man не раз сослужила добрую службу".

Филиалы Das Werk в Дюссельдорфе и Мюнхене работали над созданием 250 цифровых эффектов с помощью все той же Maya. Стивен Эльсон, представитель Das Werk, второй продюссер визуальных эффектов в фильме, рассказывает: "Один из самых сложных эпизодов - объезд на три четверти круга вокруг Джуда Ло с наездом камеры на кучу битого зеркального стекла за ним, в которой видно его отражение. Мы сочли традиционные приемы неэффективными - не получалось отражение". Питер Чанг, руководивший созданием визуальных эффектов в фильме, снял кучу битого стекла, используя контроль движения, а сотрудники Das Werk обработали изображение. Получилось намного эффектней. Олкул Тан, ведущий 3D-оператор Das Werk потратил две недели на кропотливый трекинг этого эпизода, используя все трекинговые данные, которые только можно было найти в сюжете, снятом традиционным методом. Данные трекинга стали основой для модели, с которой был сделан кадр. Эти данные были преобразованы так, чтобы их можно было ввести в программу контроля движения Milo и воссоздать в объемном виде. Результат после обработки в Milo был очень реалистичен.

Maya была нужна для того, чтобы предположить варианты расположение элементов в оригинале, поскольку с последнего удалось получить немного информации. Но Элсон уверен, что хотя этот эпизод потребовал много труда и времени, это было не напрасно, поскольку удалось получить желаемый результат и сохранить значимый элемент повествования.

Также специалисты Das Werk создали "цифровое" стекло: они обработали изображение плексигласа, который использовался на съемках, потому что применение настоящего стекла посчитали слишком опасным. Например, в одном эпизоде стекло выбивает ударной волной и осколки осыпают героя Джуда Ло. "Мы применили процедурное программирование. Это позволило смоделировать, как осколки разбиваются на более мелкие части при каждом ударе о твердую поверхность, как поднимается пыль там, где осколки падают на землю", - рассказывает Эльсон. - "Без Maya и процедурного программирования мы просто не смогли бы смоделировать динамику бющегося стекла".

Источник: Alias Wavefront

далее