Создание поверхности моря | ||
Автор | Виталий Башкатов. | |
http://www.chat.ru/~vita_b |
. Сегодня мы будем ваять море. Это то самое,которое плещется и сверкает в лучах нежного южного солнышка в бабье лето. Погода - спокойная, вид с берега, волнение - 0.5-1 балл, тип погоды - наиболее благоприятный для 3Д ;-) Будем считать, что поблизости нет речек с грязными водами, давно не было ни дождя, ни шторма. В общем, круг задач поставлен и описан - можно приступать. Начнем с понимания моря в такую погоду. Во первых динамика - волны небольшие, ветра почти нет, а значит и нет барашков на волнах. Лёгкая рябь, да и только. Потом цвет - кроме того, что есть понятие "цвета морской волны", надо бы напомнить, что вода в море окрашена по-разному - ближе к берегу она зеленее, дальше от берега стремится к ультраморину. Да и взвешеные в воде частицы дают о себе знать - солнечные лучи, приломленные поверхностью, придают воде легкий разброс по температуре цвета и светлости. Вот в принципе и всё. Приступим. Во вьпорте TOP создайте CV Surface размера 1000 Х 1500 (лучше работать именно в таких больших масштабах, чтоб не было мучений с длинами волн вроде 0.00001 ;-)) Это будет поверхность моря. Теперь скопируйте эту поверхность, переместив её с Shift во вьюпорте FRONT по оси Y единиц на 100 - это будушие облака. (Лучше сразу обзывать все соответствующими именами - море пусть будет "море", облака - "небо") Теперь нужно создать "окружение" - полусферу с центром координат в точке 0.0.0 радиуса 1000. Далее эту сферу надо переместить к нижнему краю "моря" во вьюпорте TOP так, чтобы центр был на нижнем крае, а край сферы касался дальнего конца обьекта "море". Теперь скалируйте сферу во вьюпорте Front через non-uniform scale по оси Y процентов на 50. После этого выберите вместе "небо" и "окружение", разверните им нормали, присвоив модификатор Normal. Осталось создать направленную камеру во вьпорте TOP (ближе к нижнему краю с прицелом наверх) и с геометрией покончено! Можно приступать к материалам. Угол камеры лучше взять увеличенный, 35 мм в самый раз. Можно немного "увеличить" будущее пространство сцены повернув "небо" так, чтобы оно почти касалось дальнего края "моря". Приступим к разукрашиванию (Здесь коротко о главном, подробнее - смотрите прилагаемую сцену). Начнем с "окружения" Это фактически купол неба, а значит и цвет его - градиентная заливка. Создадим соответствующий материал с текстурой Gradient на Diffuse - от небесно-синего до голубого (или желтоватого, если рядом город) Для корректности наложения текстуры примените модификатор YUV Mapping во вьюпорте Front так, чтобы карта была парллельно вьюпорту и корректно "сидела" на обьекте. Этот материал должен светиться (selfillume = 90-100). Добавим облака - это белая поверхность с маской прозрачности Noise (fractal) и самосветимостью 50 процентов. Поигравшись параметрами High&Low можно регулировать плотность облаков. А теперь - к главному. Море... Для начала цвет - по удалении от камеры он должен густеть. А значит это градиент. Кроме того внутренние блики воды - это Nose (turbulence inverted). А значит карта цвета будет Mix Градиента и шума на 0.05-0.1. Теперь волны. Не бывает моря без волн, но и волны на море не бывают одного типа. Есть побольше - основные, вызванные ветром, землетрясением и ещё бог знает весть чем, и рябь. Так вот для бампа мы тоже используем микс карт - воды и шума. Вода будет создавать групные волны, а шум - рябь. Кроме того, можно при помощи ряби показать неравномерность ветра и морских течений. Для этого нужно создать MASK течений и использовать его для ряби. В нашем случае сойдет и просто обычный шум большого размера, а значит задача упрощается - просто вместо белого цвета шума-маски будем использовать мелкую карту шума ряби. Можно усложнить задачу, задав обычный шум для белого и турбулентный для черного - это будет ближе всего к истине. Ну и, конечно же, отражения - какая же это воде без отражений? В качестве карты отражений в данной сцене можно смело использовать Raytrace, так как она не содержит в себе никаких глюков. Но главное - запомните, что коэфициент отражения воды не так велик, как кажется. Не переборщите. Теперь осталось осветить всё это дело. Вы никогда не задумавались,откуда на море светит солнце? Если вопрос показался Вам глупым - значит не задумывались. Где Вы видели море? По телеку или у нас на Кавказе! А по телеку - опять-таки у нас на Кавказе. А значет чаще Вам приходиться смотреть на море против солнца! Именно такое положение светила покажется наиболее реальным.! Для света используем 1 основной дайрект лайт с рэйтрэсовыми тенями, исключив из его освещения "окружение". Кроме того один точечный источник покажет нам положения солнца. Осталось добавить флариков и тумана по-вкусу и море готово. Замечу, что в данном случае можно всё анимировать. |