Моделей: 32Уроков: 48Видео-уроков: 4Видеороликов: 313D-работ: 15
3D-моделиУрокиСценыТекстурыЧаВоГалереяСправочникГлоссарийПомощь

Море волнуется раз — моделируем морские волны

Предыдущий урок: «АвтоПандора — Весеннее настроение»: как создавалось видео

Следующий урок: Море волнуется два — создаём движущиеся по морским волнам корабли

Вернуться к списку уроков


К этому уроку прилагается 3D-сцена

Предположим, нам понадобилось создать морские просторы, по которым неспешно катятся волны (для начала — в данном уроке — ограничимся только волнами, без водяной пыли и брызг, ибо это отдельная тема для разговора). «Bump Mapping» нас по каким-либо причинам не устраивает — он не меняет геометрию поверхности.

Каким способом изобразить хаотично движущиеся морские волны с реальной трансформацией водной поверхности?

Как лучше это сделать? Ну, например, изложенным ниже способом.

Для начала нам понадобится простейший параметрический примитив — самая обычная плоскость. Открою секрет: в дальнейшем даже нет необходимости превращать её в полигональный объект. Главное — это чтобы у плоскости было достаточно сегментов, иначе её изгибы будут выглядеть как изломы между прямоугольниками. Что может, согласитесь, несколько испортить впечатление.

Итак, создаём плоскость: верхняя панель инструментов, кнопка с выпадающим меню примитивов, объект «Plane».

Для начала создаём параметрический объект «Plane» («Плоскость»)

Проверяем, достаточно ли у созданной плоскости сегментов: лезем в настройки (окно в правом нижнем углу под менеджером объектов), параметры «Width Segments» и «Height Segments». Не забываем выбрать тип размещения плоскости в пространстве: «+Y».

Меняем расположение плоскости в пространстве и количество сегментов

Гладкая морская (или океанская) поверхность готова. Теперь нам с вами необходимо создать волны.

В Cinema 4D есть такой замечательный объект, как «Wind» («Ветер»). Именно он нам и понадобится для создания волн. Снова лезем в верхнюю панель инструментов, но на сей раз ищем кнопку создания динамических модификаторов. В выпадающем меню выбираем объект «Wind».

Создаём динамический модификатор «Wind» («Ветер»)

Теперь применяем модификатор к плоскости: цепляем его мышкой в менеджере объектов и подчиняем плоскости. Главное, что необходимо твёрдо понимать: модификатор «Wind» меняет исходную модель лишь временно, на период своего действия, он не меняет её исходную геометрию — достаточно отключить модификатор, и вы снова увидите абсолютно ровную, гладкую плоскость.

Возможно, вы уже применили модификатор к плоскости и обратили внимание, что амплитуда изгиба плоскости с одного края гораздо больше, чем с другого? Откройте настройки модификатора и отключите параметр «Flag» — трансформация станет равномерной на всём протяжении плоскости. И кстати, разместите модификатор хотя бы приблизительно в центре плоскости.

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

Чрезмерно упорядоченная мозаика волн на поверхности воды

Исправим это маленькое недоразумение, благо Cinema 4D любезно предоставляет нам такую возможность, не требуя взамен чрезмерных усилий. Клонируем модификатор «Wind» (скажем, зажав кнопку «Ctrl» и перетащив наименование модификатора в менеджере объектов в любое пустующее место в окне). Повторяем эту операцию ещё раз — для более-менее приемлемого результата нужны как минимум три экземпляра модикатора.

А теперь внесём вожделённый хаос в матрицу морских волн. Открою ещё один секрет: одному и тому же объекту можно назначить не один, а несколько модификаторов «Wind», и все они будут работать согласно заданным параметрам в полном согласии между собой. Чтобы убедиться в этом, необходимо прежде всего подчинить плоскости созданные только что клоны модификатора точно так же, как уже подчинён ей первый экземпляр модификатора.

Клонируем модификатор «Wind» и создаём ещё два его экземпляра

А затем начинается самое интересное: вносим диссонанс в параметры волн, генерируемых на плоскости модификатором. Первый экземпляр модификатора поворачиваем по горизонтали на 15o, второй — на 60o и третий — на 75o.

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

Вносим хаос в размер и расположение волн, меняя параметры у экземпляров модификатора «Wind»

В результате выполненных нами манипуляций происходит следующее: каждый из экземпляров модификатора «Wind» трансформирует поверхность плоскости в соответствии со своими индивидуальными значениями параметров, и перед нами в рабочем окне появляется куда более убедительное и хаотичное месиво будущих морских волн. Мозаичность волн всё ещё заметна, но она ощутимо снизилась. Перфекционисты, скорее всего, не смогут устоять перед соблазном добавить ещё хотя бы парочку экземпляров модификатора — но это уже на их собственное усмотрение.

Размер и расположение волн стали более хаотичными

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

Первая, попроще, будет изображать пену — для этого сойдёт обычная текстура, с активированными каналами «Color» («Цвет») и «Alpha»: для первого из каналов достаточно указать белый цвет, а для второго выбираем тонировщик «Noise» («Шум»).

В первой текстуре активируем каналы «Color» и «Alpha»

В качестве второй рекомендую выбрать шейдер «Banji» — у этого типа текстур в Cinema 4D доступны для настройки вариативность уровня рефлекции и прозрачности в зависимости от угла к нормали и три варианта блеска. Шейдер доступен в списке, выпадащем из пункта «File», который расположен в окне материалов внизу слева — окно материалов, в свою очередь, отображается в стандартном режиме Cinema 4D.

В качестве второй текстуры рекомендую шейдер «Banji»

Напоследок добавлю, что у первой текстуры не помешает указать отличную от нуля скорость анимации тонировщика «Noise», размещённого в канале «Alpha» — чтобы рисунок пены на поверхности воды менялся по мере анимации, а не оставался неподвижным.

Откровенно признаю, что вид у созданных таким способом морских волн не самый убедительный, но для схематических анимаций вполне подойдёт.


Автор

Предыдущий урок: «АвтоПандора — Весеннее настроение»: как создавалось видео

Следующий урок: Море волнуется два — создаём движущиеся по морским волнам корабли

Вернуться к началу урока | Вернуться к списку уроков


29.07.2016 19:01 Комментирует Андрей:

Помогите мне, пожалуйста! Как настроить радиус распространение света от стандартного источника? Есть объект, внутри которого находится источник света (объект прозрачен, свет пропускает), но объекты, расположенные от него достаточно далеко, освещаются с недостаточной интенсивностью

Ответ автора сайта: Ну, во-первых, объект, внутри которого находится источник света, лучше вообще исключить из расчётов освещения этого источника: свойства источника света, вкладка «Scene», режим «Exclude» (исключить), в окно под этим режимом перетаскиваем из менеджера объектов тот, внутри которого источник света.Во-вторых, можно отрегулировать угасание интенсивности освещения: у источников света тип «Omni» (и не только) есть настройки дальности освещения, а также тип угасания (линейный, инверсный кубический и т. п.)Вот играя всеми этими настройками, можно добиться нужного результата.

 
 

© Maxon Cinema 4D — справочное руководство. Запущен 13 августа 2013 г.
Разработчик, автор материалов сайта: М. Ю. Уткин.