Моделирование водной поверхности

О моделировании водной поверхности в MAX'е написано достаточно много. Совсем простенькие примеры (вроде тех, что описаны в учебниках), если честно, производят впечатление скорее унылое. Качественная модель может потребовать значительных аппаратных ресурсов, создания специальных материалов, применения плагинов, не входящих в стандартный набор MAX и проч. Тем более обидно, если в итоге, после всех стараний и затрат, море получается... хм... мягко говоря... всё равно достаточно условным. Cтатичную картинку ещё можно «вытянуть» различными средствами компьютерной графики, но с анимацией в таком случае – просто беда. С другой стороны, анимация адекватной, но сложной модели морской поверхности может стать опять-таки проблемой, когда рендеринг одного кадра занимает хотя бы больше минуты процессорного времени.

Я попытался создать простую повторяемую анимируемую модель морской поверхности, используя стандартные материалы, стандартное освещение и стандартный рендеринг; я принял во внимание наиболее общие оптические свойства водной поверхности и постарался хотя бы имитировать эффекты, недостижимые без применения каустики (от которой я также отказываюсь ради сведения к минимуму времени визуализации); за пределами задачи остаётся и моделирование геометрии поверхности моря (а, следовательно, и крупных волн, «барашков» и проч).

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

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

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

... море можно превратить в тропический океан...

...коли придет желание изобразить какую-нибудь эффектную марину:

Короче... понадобится морской клип - не обязательно отправляться на Карибы: если не всё, то многое можно нарисовать дома ;) Тут я разместил для иллюстрации flv-ролик, но, видать, скрипт какой-то кривой - показывает через раз. Ну не Web я мастер. Впрочем, по этой ссылке ролик можно скачать и посмотреть любым flv-проектором - коли в браузере его не видно. Хм.

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

Поэтому при изложении приёмов построения модели я наиболее подробно остановлюсь, помимо характеристик материала воды, именно на освещении дна. В остальном же ограничусь достаточно беглым изложением этапов создания моря, благо в них нет ничего нового для освоивших азы обращения с приложением MAX. Ради воспроизводимости результата будут упомянуты (наряду с важными) в том числе и конкретные значения некоторых второстепенных параметров, мало влияющих на итог. Впрочем, какие именно параметры считать важными, а какие - второстепенными, заранее определить довольно сложно. Зыбкая это материя - морская поверхность...

Моделирование водной поверхности

Перед моделированием собственно водной глади создам виртуальный «мир» с небом и поверхностью будущего дна. Это необходимо, поскольку в будущем водоёме должно же отражаться небо; а вот там, где, по прихоти играющих волн, поверхность воды становится прозрачной, должно просвечивать дно.

Завожу геосферу радиусом 800 метров (этого, полагаю, хватит) с координатами (0,0,-105) (все линейные размеры даются в метрах).

Воздействую на неё модификатором EditPoly, выделяю все полигоны и обращаю нормали в свитке EditPoligons (это необязательно, но удобно – чтобы не беспокоиться впредь специально о том, чтобы источники освещения сцены не закрывались этой нашей «небесной твердью»). Далее применяю модификатор UVW Mapping, выбрав в его свитке Parameters опцию Spherical – чтобы иметь возможность управлять нанесением текстуры.

Текстуру для неба можно сочинить в Photoshop’е или в каком-либо другом графическом редакторе, чтобы получилось что-то в этом роде:

Надеюсь, что приёмы создания «бесшовных» картинок вами уже усвоены, если же нет – постарайтесь, чтобы камера не смотрела в неудачную часть «небес». Создаю первый материал модели – для небесной сферы. Это - стандартный материал, использующий растровую текстуру в карте Diffuse Color с весом 90, Self Illumination – 100 и значениями цветов Ambient и Diffuse 18 42 56 (голубой) и 120 190 230 (синий) соответственно. Распределение света по Blinn’у; значения для блика (Specular Level, Glossiness и Soften) - 0, 0, и 0,1 соответственно. Впрочем, поскольку в данном материале используется самосвечение на 100%, последние параметры не столь уж важны (вообще большинство параметров, равно как и выбор исходного материала для текстуры небес определяются задачей композиции и могут «плавать» в достаточно широких пределах). Присваиваю нашей геосфере этот материал (я так и назвал его «небо»). Ставлю точечный источник света. Тени отключены, интенсивность – 1, координаты – 0,0,0. Назову и его также - «небо». Единственное его предназначение – освещать купол небес

Помещаю направленную камеру с координатами x=150, y=141, z=17, объективом 46мм и «мишенью» в области x=144, y=-60, z=-15. Самое время посмотреть, что получилось в поле зрения камеры. Так, ничего особенного, всё ожидаемо… небо вроде бы готово.

Дном служит плоскость 2000м на 2000м с координатами x=162м y=10м z=-7м. Материал для дна – также стандартный. За основу я взял растр SPONGE.JPG из библиотеки 3DSMAX... но вообще-то можно использовать любое изображение каменистой или песчаной поверхности, сделав его бесшовным:

Значения Ambient и Diffuse 26 27 10 (тёмно-зелёный) и 182 219 119 (салатный) соответственно. Распределение света по Blinn’у; значения для блика (Specular Level, Glossiness и Soften) - 0, 10, и 0,1. Используются карты текстур Ambient Color (50), Diffuse Color (20) и Bump (140). В моём случае используется тайлинг 25 в свитке Coordinates и инвертирование в свитке Output каждой карты:

Но это всё, конечно, зависит от того, что именно вы возьмёте в качестве основы для текстуры дна. Присваиваю этот материал (назову его "дно") плоскости – дно готово.

Для имитации солнечных «зайчиков» на донной поверхности нам понадобится отдельный источник света с анимированной картой освещенности. Она является смесью типа Mix двух текстур типа Noice с анимированными фазами. Поскольку солнечные блики на дне – очень важная часть модели, расскажу об этом подробно (впрочем, тем, кто освоил приёмы составления и анимации сложных материалов, львиную долю моих дальнейших словопрений можно смело опустить, обратив внимание лишь на структуры карт и параметры текстур).

Итак, выделяю любую свободную ячейку в окне редактора. В моём случае это - неиспользуемый покуда материал Material #15 (вокруг ячейки появляется яркая белая рамка). Щелчком открываю свиток Maps. В раскрывшемся свитке выбираю любую карту – например, Diffuse Color:

Щелкаю по клавише None в поле карты Diffuse; в раскрывающемся окне материалов Material/Map Brouser выбираю вариант Noise и подтверждаю выбор кнопкой OK:

Установки карты типа Noise «по умолчанию», которые будут изменены, показаны обводкой. Устанавливаю новые значения: выбираю Blur – 2, Blur offset – 2, Noise Type – Turbulence, Levels – 6, Size – 800:

Для создания составного материала щелкаю по кнопке Noise, в раскрывающемся браузере материалов/карт выбираю вариант Mix, подтверждаю выбор кнопкой OK. В ответ на вопрос, что делать со старой картой и не сделать ли её компонентом новой (по умолчанию), щелкаю OK

Получаю сложный материал типа Mix, одним из компонентов которого является уже созданный мной Map #217 (Noise). В свитке Mix Parameters меняю установки как показано. Щелкаю по свитку Output и изменяю характер кривой приблизительно так, как показано на рисунке. Эта кривая определит в будущем нам вид и яркость границ сетки бликов на поверхности дна.

Возвращаюсь в свиток Mix Parameters, чтобы добавить второй компонент карты Mix, для чего щелкаю по кнопке None, в окне материалов Material/Map Brouser выбираю вариант Noise и подтверждаю выбор кнопкой OK; установки по умолчанию изменяю следующим образом:

Цвета Color#1 и Color#2 для шума устанавливаю на уровне 92 и 144 соответственно. Щелкаю по кнопке навигатора карт редактора материалов, получаю схему нашего будущего карта освещенности дна. Надеюсь, у вас получилось то же самое.

Стоит сразу же и анимировать этот материал. Проще всего это сделать так. Возвращаюсь в свиток Noise Parameters какой-нибудь из компонент нашего материала Mix (например, Color 1, в моём случае это материал Map #217 (Noise)) – щёлкаю по полю Phase и выбираю в раскрывающемся меню пункт Show in Track Vew

Раскроется редактор построения графика анимации. Каким-нибудь инструментом (например, карандашом) рисую кривую из двух точек. Затем, выделяя их, устанавливаю значения для первой, например, точки номер кадра – 0, величина фазы – (-9); для второй – 100 и 0 соответственно.

Пользуясь инструментами, которые я выделил на рисунке (не забудьте выбрать режим анимационной кривой таким, чтобы фаза менялась в области за опорными точками графика, иначе море будет "играть" только в кадрах с номерами от 0 до 100), получаю график анимации фазы для шума примерно в следующем виде:

Такой график изменения фазы шума при проекции со скоростью 15 – 30 кадров в секунду отвечает достаточно естественному изменению бликов и волн нашего будущего моря. Теперь анимационное окно Selected можно закрыть. Следует анимировать и вторую компоненту материала. В окне редактора материалов в свитке Noise Parameters только что анимированного компонента Color 1 (материал Map #219 (Noise)) окошко Phase теперь содержит красную окантовку – признак анимации фазы шума, лежащего в основе текстуры компонента. Щелкаю в поле Phase и выбираю из выпадающего меню строчку Copy Animation. Перехожу ко второму компоненту (в моём случае - это Color 2, материал Map #217 (Noise)), щелкаю правой кнопкой мышки в поле Phase и выбираю пункт Paste Animation – Instance.

Теперь у меня анимированы оба компонента сложного материала Mix. Если мне не понравится темп анимации, достаточно поправить её для одного компонента – и анимация второго претерпит аналогичные изменения (поскольку мы использовали вариант копирования Instance). Создаю новый стандартный точечный источник света, называю его «грунт». Координаты – 160, 56, 165, розоватый цвет (255, 227, 190), тени включены, тип теней – Adv. Ray. Traced, интенсивность – 0,2. Мне нужно, чтобы этот источник рисовал блики на дне – в соответствии с тем анимированным материалом, который я смастерил. В редакторе материалов я перехожу на уровень списка карт (свиток Maps), щелкаю правой кнопкой мыши по карте, где находится материал солнечных бликов (в моем случае Map 217 (Mix) в карте Diffuse Color ячейки текстур Material #15) и в выпадающем меню выбираю строчку Copy.

Теперь перехожу в свиток Advanced Effects источника света «грунт», щелкаю правой кнопкой мыши по кнопке None в области Projector Map и выбираю команду Paste (Instance) в выпадающем меню. Теперь наш источник содержит анимированную карту Map#217 (Mix), которую я создавал в редакторе материалов. Если картина бликов мне не понравится, я смогу отредактировать её в окне редактора материалов; при этом анимация источника освещения преобразуется автоматически.

Дно есть, блики есть, осталось позаботиться, чтобы источник освещения неба освещал только небо, а источник освещения дна – только дно. В свитке General Parameters источника света «грунт» в поле инструментов Shadows щелкаю по кнопке Exclude… и в раскрывающемся окне Exclude/Include выделяю объект «небеса»: мне вовсе ни к чему блики на сфере, имитирующей небо. Потом щелкаю по кнопке >> и по OK.

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

Варьируя параметры компонент материала Map#217 (Mix), я могу менять характерные размеры бликов, а трансформируя кривую распределения интенсивности компонента Color#1 (Map#217(Noise)) – толщину и яркость сетки. Вообще, есть смысл самостоятельно поменять некоторые параметры (включая коэффициент смешивания компонент) и выбрать то, что покажется наиболее подходящим.

Теперь нужно «накрыть» дно с анимированными бликами анимированной водной гладью. Создаю плоскость размерами 2000м на 2000м и координатами 0, 0, 0. Назову её «море». Исключаю этот объект из воздействия источников света «небо» и «грунт» так, как уже описывал ранее. Для создания материала водной поверхности выделяю свободную ячейку в редакторе материалов Material editor и так и называю этот материал – море. Присваиваю этот материал только что созданной плоскости. Изменяю установки по умолчанию в свитке Blinn Basic Parameters в поле инструментов Highlightes. Открываю свиток Maps и меняю «влияние» карты Bump с 30 на 20. Теперь займусь созданием материала, имитирующего волны и рябь на воде.

Щелкаю по кнопке None карты Bump вызываю броузер карт и материалов, выбираю вариант Mix.

Установки по умолчанию меняю следующим образом: клавишей Swap реверсирую цвета компонент и устанавливаю 50% смешивание будущих карт шумов, имитирующих волны и рябь морской поверхности. Щелкаю по кнопкам None компонент материала Color#1 и Color#2 выбираю в редакторе карт и материалов варианты Noise. Характеристики шумов для имитации волн и ряби указаны на рисунке: в данном случае выбран режим Fractal, цвета карты шумов Map#221 компоненты Color 2 устанавливаю на уровне 92 и 144. После этого остаётся анимировать материалы, составляющие карту Bump – чтобы поверхность моря ожила. Честно, мне лень подробно рассказывать, как это делается, тем более, что приёмы там те же, что и в анимации карты бликов на дне, а о ней я уже говорил. В этом примере я просто скопировал анимацию фазы одного из компонентов материала Map 217 (Mix) и перенёс её в компоненты материала Map 215 (Mix), формирующего текстуру Bump поверхности материала «море». Покончив с анимацией Bump'а, займусь оптикой - поглощением, отражением и преломлением.

Перехожу на 2 уровня выше, дважды щелкнув по соответствующему значку   на линейке инструментов редактора материалов, и выбираю в свитке Maps следующую характеристику материала «море» - Opacity. Это очень важная характеристика материала: она обеспечивает изменение прозрачности поверхности воды. Чем меньше угол, под которым мы смотрим на водную гладь, тем менее она прозрачна, и наоборот. В свою очередь, чем дальше от камеры тот или иной участок морской поверхности, тем меньше и угол, под которым эта поверхность видна. Поэтому естественно использовать в этой карте материала текстуру типа Falloff.

В окне материала Falloff выбираю спад по Френелю и модифицирую кривую в свитке Mix Curve так, как показано на рисунке. Сбросив – чтобы волны и рябь не мешали обзору - флажок Bump в свитке Maps материала «море», стоит сделать пробный рендеринг и убедиться, что морская поверхность и впрямь становится все менее и менее прозрачной по мере удаления к горизонту. Если характер этого изменения покажется вам неестественным, можно скорректировать его, изменяя кривую карты Falloff, сдвигая границу видимости дна ближе или дальше от горизонта, регулируя степень размытости этой границы.

Вот что получилось у меня. Вроде бы сносно.

Моделируя отражение, я использую стандартный приём, когда карта Reflection составляется из материала типа Raytrace, который маскируется материалом типа Falloff, только здесь обратная ситуация: чем дальше к горизонту, тем лучше водная поверхность отражает окружающий мир (и в первую очередь небо). Составляю «каркас» материала. Для начала завожу в свитке Maps редактора материалов в строчке Reflection текстуру типа Mask. А потом то же самое делаю с компонентой материала: щелкаю по кнопке None компоненты Mask и в раскрывающемся списке карт и материалов выбираю вариант Falloff

В результате раскроется поле редакции материала Faloff. Параметры по умолчанию меняю примерно так же – но не тождественно – как я уже делал для карты прозрачности Opacity несколько раньше. Критерий подбора тот же самый: меняя характер кривой смешивания материала Falloff добиться естественного изменения отражательной способности «моря» по мере удаления поверхности воды к горизонту.

Поднявшись на уровень выше по иерархии вложенных материалов (использую значок перехода ), я вновь открываю в редакторе материалов текстуру типа Mask. Щелкаю по кнопке None компонента Map и выбираю вариант Raytraced. Работа с картой Reflection закончена: в нашем примере я не изменяю ни один параметр, установленный в этой текстуре по умолчанию.

Вот, что получилось, если в списке карт Maps материала «море» оставить активной только карту Reflection.

Материал для моря почти готов. Есть ещё одна характеристика, без которой анимация воды на ближнем плане будет неубедительна. Я имею в виду рефракцию. Эта карта, в сочетании с анимированным Bump’ом, обеспечит легкое ритмичное искажение дна, которое мы обычно наблюдаем, когда смотрим на дно сквозь спокойную, чуть колыхающуюся, прозрачную воду. Я выбрал вариант Thin Wall Refraction с параметрами Thickness 0 и Bump Map Effect 0,5. Сила воздействия этой карты - 25%. Таким образом, материал поверхности воды составлен из карт следующих текстур; их параметры я уже описал.

Пожалуй – пока не забыл – поменяю цвета материала «море»: ведь я моделирую не ласковое Терренское, не знойное Карибское, а прохладное, хоть и летнее, Балтийское море. Поэтому цвета материала я меняю с изумрудного на серый.

Чтобы в соответствующих ракурсах на волнах появились солнечные блики необходимо, натурально, светило. В качестве солнца использую стандартный точечный источник света, размещаю его приблизительно там же, где находится источник бликов на дне. Тени, интенсивность, цвет «солнца» оставляю – по умолчанию (только тени надо будет включить). Ну и исключаю из действия «солнца» всё, кроме «моря». Вот теперь настало время для визуализации. На всякий случай откройте закладку Renderer в окне Render Setup и убедитесь, что в установках визуализатора активен режим Auto-Reflect/Refract and Mirrors. А вот птичку в Antaliasing можно снять. Если понадобится увеличить качество картинки, используйте отключенные по умолчанию режимы Super Sampling: время визуализации возрастёт, зато качество результата вас наверняка приятно удивит.

Благословясь, учиняем рендеринг.

Вроде сносно получилось. Заняло всего семь секунд на компе с 2GHz процессором далеко не «навороченной» сборки минимум трехлетней давности. Обратите внимание на живописные сочетания «зеркальности» с придонными бликами в пограничных (на рубежах отражения и проницаемости) областях изломанной рябью морской поверхности. Игра света, теней и солнечных зайчиков вкупе с разбитым волнами отражением небес создаёт удивительное ощущение достоверности (не смотря на примитивные средства, использованные при моделировании).

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

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

Но это уже за пределами темы… Впрочем, я, кажется, повторяюсь? Значит, самое время закругляться.

Удачи!

Александр Сокорнов (toft)

653 0 850 45
25
2009-09-23
неплохо. 5/5.
2009-09-23
Для создания каустики я бы посоветовал использовать бесплатную программку [url=http://www.dualheights.se/caustics/]Caustic Generator[/url].
2009-09-23
Прикольненько ) Спасибо! 5/5
2009-09-23
Хороший урок. 5/5
2009-09-23
Гуд!
2009-09-23
Интерессно. Спасибо =)
2009-09-23
Неплохой урок)) 4/5
2009-09-23
очень уважаю использование стандартных средств. 5/5
2009-09-24
здорово!
2009-09-24
"за пределами задачи остаётся и моделирование геометрии поверхности моря (а, следовательно, и крупных волн, «барашков» и проч)" - вот об этом урок был бы еще интереснее, узнать, как можно воссоздать реалистичное море, например, во время шторма, с барашками и пеной, не прибегая к ресурсоемким инструментам (типа realwave)
2009-09-24
Жаль, что этот момент [quote] Наконец, применяя известные приёмы преобразования анимируемой геометрии поверхности воды, можно дополнить её настоящими волнами и проч.[/quote] остался за пределами темы, я очень на это надеялся. Но в целом урок очень даже хорош.
2009-09-25
Попробовал повторить урок. Море вышло отлично, по одному кадры рендерятся правильно, видно, что дно и море анимированы, однако при попытке за раз просчитать avi-шку или последовательность jpg-кадров почему-то пропадает анимация бликов на дне, т.е они становятся статичными. Облазил все настройки, не могу найти причину. ПОМОЖИТЕ ПЛИЗ! Сцена здесь: http://stream.ifolder.ru/14166393
2009-09-25
5/5! Урок понравился! Спасибо! Особенно впечатлили картинки вначале! Хоть я и не занимаюсь анимацией, но для статичной картинки это фактически фотореалистично. Почти... =)
2009-09-26
[quote=vitasan777] Попробовал повторить урок. Море вышло отлично, по одному кадры рендерятся правильно, видно, что дно и море анимированы, однако при попытке за раз просчитать avi-шку или последовательность jpg-кадров почему-то пропадает анимация бликов на дне, т.е они становятся статичными. Облазил все настройки, не могу найти причину. ПОМОЖИТЕ ПЛИЗ! Сцена здесь: http://stream.ifolder.ru/14166393 [/quote] Присоединяюсь к недоумению: такое действительно бывает. Отмечу, что у меня такая беда была однажды, когда я работал в 3DSMAX2010. Причем дело-то, конечно, не в avi-формате как таковом. Когда я просто запускал визуализацию в виде серии jpeg-овских кадриков подряд, пользуясь соответствующими настройками SetUp'а (кнопки Active Time Segment либо Range либо Frames настроек Time Output свитка Common Parameters окна Render Setup), анимация бликов могла действительно "не пойти" (притом, что с анимацией волн все было ОК). И в то же время, когда я выводил ТЕ ЖЕ САМЫЕ КАДРЫ по отдельности, используя кнопку Single Setup'а, всё было в полном порядке. И более того: стоило так или иначе убрать (скрыть) из сцены объект с морской поверхностью, как анимация бликов возобновлялась и демонстрировалась в любом режиме рендеринга. Замечу, что та же самая модель, собранная в версиях 3DSMAX 2008 и 2009, никакими подобными неприятностями не сопровождалась никогда (на трех моих рабочих местах стоят разные версии MAX'а). Я затрудняюсь представить, что такого в настройках и свойствах материалов или источника света, отвечающего за блики, может привести к такому... хм... экзотическому результату. Вот только сейчас я "прочитал" 10-м Max'ом модель, которую собрал с нуля в 9-м - и всё, включая блики, анимируется нормально в любых режимах (модель с корабликом и океаном - а также со всеми текстурами - можно на пробу загрузить с адреса http://toft.pisem.su/exerc/model01.rar). Честно, тогда-то я-то не стал ломать голову над этим всем, всё снёс и собрал заново... хотя и завязал себе узелок на память. Но, может, кто-то сможет подсказать, в каких таких трёх соснах мы могли заплутать? Буду благодарен!
2009-09-26
[quote=designer_andrew] "за пределами задачи остаётся и моделирование геометрии поверхности моря (а, следовательно, и крупных волн, «барашков» и проч)" - вот об этом урок был бы еще интереснее, узнать, как можно воссоздать реалистичное море, например, во время шторма, с барашками и пеной, не прибегая к ресурсоемким инструментам (типа realwave) [/quote]Думаю, что "не прибегая к ресурсоёмким инструментам" - сложно. Ведь для создания реалистического рельефа морской поверхности требуется так или иначе "разбить" плоскость моря на кучу фасок/полигонов. И неважно, сделаете это Вы "вручную", или за Вас это сделает та или иная автоматизированная процедура, более или менее эффективная и оптимизированная. А это (увеличение числа фасок) само по себе и потребует-то тех самых ресурсов... и неизбежно приведёт к резкому увеличению времени визуализации. Если это не фатально для конкретной ситуации (ролик маленький, комп супермощный или вообще речь идёт о статичной картинке), то о чём спич? - любое 3D преобразование только приветствуется! Ведь в противном случае данная модель сможет проимитировать максимум лёгкое волнение; в этом она ограничена, ясное дело. Можно, конечно, подробно рассказать о том, как в Max-e организуется (вручную, инструментами, или с помощью модификаторов, или реактором) самые различные, более-менее реалистичные трехмерные волны. Ну вот первое, что сходу приходит в голову - задействовать карту displacement, анимированную как bump... или применить модификатор Displace, в котором тоже есть, что анимировать... можно порекомендовать для этой же цели какой-нибудь специализированный плагин (например, http://charles.hollemeersch.net/Projects/24/oceanwaves очень впечатляет, судя по аннотации). Но... это ведь и впрямь будет совсем другой урок... а кроме того об этом-то ведь уже рассказано. И даже, наверное, в журнале render. PS Вот насчёт "барашков"... то есть пены... есть одна идея. Если получится - с удовольствием расскажу.
2009-09-29
5/5
2009-10-02
С морем получилось хорошо. А как сделать динамику горной реки? Есть ли толковые уроки?
2009-10-02
а с v-ray пойдёт?, или надо что-то изменять, например на воде что нибудь будет,но визуализацию в v-ray делать надо))
2009-10-03
Не понятно ты объясняешь анимированние материала!!!
2009-10-03
[quote]Не понятно ты объясняешь анимированние материала!!! [/quote]Хм. Может быть, со стороны виднее. Я предполагал, что читатели УЖЕ ознакомились с инструментами и приёмами анимации в MAX'е. Урок ведь не об анимации как таковой (уж о чём о чём, а об анимации уроков написано очень много). Подробно об анимации параметров Вы можете прочитать, например, в книге Тэда Бордмана "3DS max - учебный курс" или, скажем, в самоучителе "3DS max на 100%" В. Верстак, С.Бондаренко, М.Бондаренко...
2009-10-04
[quote="designer_andrew"]"за пределами задачи остаётся и моделирование геометрии поверхности моря (а, следовательно, и крупных волн, «барашков» и проч)" - вот об этом урок был бы еще интереснее, узнать, как можно воссоздать реалистичное море, например, во время шторма, с барашками и пеной, не прибегая к ресурсоемким инструментам (типа realwave)[/quote] Как и обещал, вкратце расскажу, что можно сделать по части пены и «барашков», оставаясь при этом в рамках стандартных материалов и рендеринга. Шторма, конечно, не выйдет, но умеренное волнение учинить можно. Для этого придется "расколотить" плоскость (хотя бы вблизи камеры) на мелкие полигоны (например, модификатором HSDS). Затем нужно создать анимированный шум в карте Displacement материала. Вес карты я взял минимальным, иначе на волнах появятся неприглядные треугольные морщины... или уж придется рассекать плоскость на совсем мелкие полигоны и рендерить картинку до морковкина заговенья... Тогда тихую гладь моря [IMG]http://s19.radikal.ru/i192/0910/1a/5d2472d11b41.jpg[/IMG] покроют отчетливо видимые валы. [IMG]http://i016.radikal.ru/0910/45/5ecebe63b682.jpg[/IMG] Я сделал их длинными, используя тайлинг в настройках шумов карты Displacement... а анимацию учинил 4 раза медленнее, чем для ряби... чтобы они эдак солидно перекатывались в ролике. Для имитации пены я использовал карту Diffuse Color, скопировав туда шумы из Displacementа. Тем самым я синхронизировал будущие "барашки" с рельефом "воды". Потом я модифицировал выходную кривую карты Diffuse Color так, чтобы шумы превратились в сетку - наподобие того, что было сделано для донных бликов в уроке. Тем самым я добился того, что лишь верхушки самых высоких волн "вспениваются", то есть окрашиваются в белый цвет. Потом я скопировал карту Diffuse Color в карту Self-illumination (пена рассеивает свет во все стороны и должна отчетливо выделяться даже в тени). Получилось так: [IMG]http://i034.radikal.ru/0910/b7/c0c0b7fa0f90.jpg[/IMG] Не ах, но в целом похоже на правду. Ролик с анимированными 3D волнами и "барашками" можно посмотреть тут: http://www.youtube.com/watch?v=kVMpURB9e9M Понимаю, о 3D рельефе я рассказал очень уж "вкратце". Но идея, полагаю, ясна. PS Это, разумеется, не единственный (и даже наверняка не самый лучший) способ смастерить анимированные 3D волны и пену. PPS Возможно, стоило бы написать продолжение урока на эту тему. Но покуда у меня на это, честно, маловато времени. Я и этот-то еле осилил...
2010-08-10
Спасибо за урок.у меня получилось похожая картинка,но вот вода так не бликует.где стоит поправить...?...вроде все сделала как описано выше...
2010-08-10
[url]http://www.render.ru/gallery/show_work.php?work_id=68145[/url]
2010-08-10
забыла про ссылку )))).....посмотрите пожалуйста.....как поправить блики на воде.
2015-03-18
Попробуйте через Rem плейер? фaйлы в формате TGA
RENDER.RU