Как создать облака?

Рубрика: Анимация Комментариев: 0

Добро пожаловать на RAIT.kz! В этом уроке вы научитесь создавать полет сквозь реалистичные облака, которые делаются довольно быстро, c помощью 3ds Max без каких-либо плагинов или сторонних визуализаторов.

Но сначала немного теории… Остальное тут основано на ней, так что вперед и с песней!

0-2_animation

0-3_animation

Проблема прохождения лучей в пространстве

Физические основы света, движущегося через газовое облако, не имеют ничего общего с традиционным освещением полигонов, и в этом заключается главная задача при визуализации облаков.

0-4_theory

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

0-5_theory

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

0-6_theory

Это сделает заднюю сторону облака освещенной лишь настолько, насколько далеко прошел солнечный свет через облако.

0-7_theory

Обратите внимание, что угол поверхности частиц облака абсолютно не важен, вопреки «нормальному» освещению многоугольника.

Теперь мы пойдем дальше, зная, что фотореалистичной вид облаков зависит от распадающегося неполигонального освещения.

Пушистый чайник

Прежде, чем перейти к формированию больших облаков, мы используем теорию и применим ее к простой форме.

1.1. Создайте чайник с радиусом 40 в окне проекции «Перспектива». Щелкните правой кнопкой мыши, выберите Свойства (Properties) и отмените выбор «Renderable». Нажмите CTRL+C для создания камеры в окне проекции.

1-1

1.2. Нажмите «6», чтобы открыть Particle View. Создайте событие с Birth event, Position Object, Shape Facing и Material Static.

1-2

1.3. В Birth Event задайте следующие параметры — Emit Stop равный 0 и Amount равный 1000. В Position Object, выберите чайник в качестве объекта излучения. В Shape Facing выберите камеру в сцене как LookАtObject, установите размер (Size) на 20 и выберите случайную ориентацию (Random). В Display event, выберите Type Geometry.

1-3

1.4. Теперь в вашем любимом графическом редакторе, используя мягкую кисть, нарисуйте попкорнообразную кляксу, которая выглядит примерно следующим образом. Убедитесь, что этот белая клякса на черном фоне.

1-4

1.5. В 3ds max создайте материал со сплошным белым цветом, который будет использовать ваше изображение попкорна в качестве карты прозрачности. Перетащите ее на событие Material Static в Particle View.

1-5

1.6. В редакторе материалов убедитесь, что карта попкорна открыта. Нажмите на «Bitmap» и выберите маску в просмотрщике карт (Map Browser). Выберите «сохранить старые карты как суб-карты» («Keep old map as sub-map») в диалоговом окне «Replace Map». В новом материале маски устанавите свою карту попкорна в качестве карты, далее переместите ее в слот «Mask», и выберите «Swap».

1-6

1.7. Нажмите на слот «Mask» и выберите Gradient Ramp в просмотрщике карт. Установите радиальный тип градиента. Правой кнопкой щелкните на левом флаге, выберите «Изменить свойства» и измените цвет от черного к белому, щелкните правой кнопкой мыши в центре флага и выберите «Удалить», нажмите правой кнопкой мыши на правый флаг и выберите «Редактировать свойства».

1-7

1.8. Нажмите слот None, чтобы открыть просмотрщик карт и выбрать Дым (Smoke). В настройках карты дыма введите размер 5, экспонента 1.

1-8

1.9. Создайте направленный источник света Target Direct в окне проекции «Сверху» так, чтобы осветить чайник сзади и установите цель в центре чайника. На вкладке освещения «Intensity» активизируйте Use Far Attenuation и отрегулируйте значения Near и Far, чтобы диапазон охватывал весь чайник и частицы. При помощи Directional Parameters настройте Hotspot/Beam, чтобы охватить все частицы. Теперь для большего шарма нажмите кнопку «Ambient Only» во вкладке освещения Advanced Settings. Благодаря этому освещение проигнорирует углы полигонов, а это именно то, чего мы хотим.

1-9

1.10. Отрендерите это, чтобы увидеть самый пушистый чайник! (подсказка: переключите на Mental Ray, чтобы ускорить рендеринг в два раза)

То, что мы сделали здесь – это имитация прохода луча. Имитация приятна тем, что мы игнорируем, как далеко свет путешествовал внутри облака, а вместо этого сосредотачиваемся только на том, насколько свет распространяется в пространстве. Это достаточно близко для наших целей.

1-10

Траектория полета

Во-первых, мы создадим камеру, которая будет следовать за самолетом через туннель. Позже мы превратим этот туннель в облака. Если вы думаете, что потратили уже слишком много часов своей жизни для создания туннельных эффектов, перейти к 3 главе, но просматривая 2 главу, запишите используемые размеры.

2.1. Удалите прежде чайник и освещение, но сохраните камеру, систему частиц и материалы.

2.2. Создайте s-образный сплайн, как этот, с помощью четырех точек на кривой Безье. Обратите внимание на форму в верхнем и левом окнах. Будьте осторожны с Безье — без острых углов! И поскольку мы не хотим никаких дерганий камеры, увеличьте интерполяцию до 20 и снимите галку с  Optimize. (на самом деле, мы хотим колебаний, но не таких… но об этом позже!)

2-2

2.3. Первая точка на моей кривой имеет координаты 0,0,0, а последняя находится на 50, 400, -100. Это не критично, но чем ближе ваш масштаб к этому, тем легче будет сопоставить размеры частиц и процедурные карты позднее в данном уроке.

2.4. Выберите камеру, и добавте Path Constraint, перейдя во вкладку Motion, раскройте вкладку Assign Controller, выберите Position, нажмите Assign controller и дважды щелкните на Path Constraint.

2-4

2.5. Во вкладке Path Parameters нажмите кнопку Add Path и нажмите на сплайн окне проекции. Теперь камера следует по отрезку пути в течение всей продолжительности анимации, но мы хотим, чтобы было расстояние до цели камеры, для этого заходим в последний кадр, включаем Auto Key, установлеваем Default Tangent — линейный, и введите 90% в поле %Along Path.

2.6. Создайте объект «пустышку» Dummy и добавте Path Constraint, чтобы сделать его аналогично тому же сплайну, но теперь (с Auto Key) перейдите на нулевой кадр и введите 10% в поле %Along Path. Выключите Auto Key.

2.7. Выровняйте цель камеры по «пустышке», а затем прикрепите цель камеры к модели. Запустите анимацию, и дважды проверьте, что теперь у вас есть хорошая анимация камеры, следующей за целью на постоянном расстоянии.

2.8. Зачем использовать «пустышку», а не применять Path Constraint непосредственно для цели камеры? Помните, что мы говорили о колебаниях? Выберите цель камеры, и назначте контроллер Noise Position для нее, вместо Path Constraint. В диалоговом окне Noise Position отмените выбор Fractal Noise, введите 0,2 в поле Frequency и 2,0 в полях X, Y и Z Strength. Это даст хорошее турбулентное колебание в камере.

2-8

2.9. Создайте цилиндр с радиусом 45, высотой 440, 40-ка сегментами по высоте и 15-ю сегментами по окружности. Выравнейте его траекторию (положение и вращение) с помощью команды Выравнивание (Align tool). Щелкните правой кнопкой мыши на цилиндр, выберите Свойства и снимите флажок Renderable. Кроме того, убедитесь, что Backface Cull цилиндра находится в выключенном положении.

2-9

2.10. В панели Modify откройте вкладку Modifier и выберите PathDeform (WSM). Очень важно, чтобы вы выбрали версию  World-Space Modifier (WSM), а не просто обычный PathDeform. Выберите путь.

2.11. Теперь вы можете увидеть цилиндр, протянувшейся вдоль пути. Если ваши координаты пути в корне отклонились от тех, которые я описал ранее, вам нужно будет настроить длину, радиус и прочие данные вашего цилиндра. Воспроизведите анимацию в окне просмотра камеры, она должна выглядеть, как туннельный эффект в демонстрации «Amiga», но без плазмы!

2.12. Для дополнительного штриха, добавьте эффект наклона камеры: установите автоматический Default Tangents, включите Auto Key, выберите камеру, и нажмите клавишу F12. Перейдите к 25 кадру и установите Roll на -25. Перейдите к 75 кадру и установите Roll на 25. Перейдите к 100 кадру и установите Roll на 0.

2.13. Если вы хотите, то сейчас самое время внедрить вашу любимую модель самолета в сцене и добавить такой же PathConstraint еще раз. Снова переходим на нулевой кадр и устанавлеваем «%Along Path» равный 10. Активируйте Follow и Bank, укажите Bank Amount равный 2 и Smoothness равный 1.

2-13

2.14. Кроме того, загрузите в стандартную карту окружающей среды, например, CHROMBLU.JPG из библиотеки Max (не то, чтобы мы увидим хороший фон, но это лучше, чем просто черный)

Туннель из облаков

3.1. Преобразуйте туннель (Cylinder01) в EditableMesh, добавьте модификатор TurboSmooth и укажите Iterations равный 2. Затем добавьте поверх модификатор шума (Noise). Укажите масштаб шума (Noise Scale) равный 40, включите Fractal, укажите Iterations равный 2 и укажите силу (Strength) X, Y и Z равную 40.

3-1

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

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

3.3. Нажмите «6», чтобы открыть Particle View. Изменить количество (Amount) до 2000, и выберите Cylinder01 в Position Object. Ваш туннель теперь должен быть заполнен плашками. Сделайте тестовый рендер, чтобы увидеть, что вы делаете.

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

3-3

3.4. Перед тем как начать освещать тоннель облаков, давайте поработаем с цветом. Мы не можем применить любую текстуру с полигональным маппингом, но мы можем сделать большие массивы цветовых пятен. В облаке материала нажмите слот Diffuse Color и выберите шум (Noise) в просмотрщике карт (Map Browser).

3-4

3.5. Выберите Fractal, High=0,8 Low=0,2 Levels=10 и Size=100. Вместо черного используйте 60, 90, 115. В материале облака поднимите Self-illumination до 100 и отрендерите.

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

(Технически, текстуры пространства не совершенны, потому что, когда плашки будут поворачиваться, их поверхность будет перемещаться по текстуре пространства, и текстура начнет «ползти» по поверхности. Но с этим большим рисунком, это не проблема)

3-5

3.6. В верхнем окне просмотра, создайте освещение Target Direct, которое будет освещать облака туннеля сбоку.

3-6

3.7. Щелкните правой кнопкой мыши на Top -> Views -> Direct01, чтобы увидеть сцену из источника света. В Directional Parameters настройте Hotspot/Beam, пока все частицы не будут видны из источника света.

3-7

3.8. Отрендерите сцену из источника света. Сохраните изображение, и загрузите его в ваш любимый визуальный редактор.

Все ваши частицы будут смотреться плоско и странно, потому что они направлены на камеру, а не источник света, но это нормально.

3.9. В визуальном редакторе покрасьте все частицы так с использованием градиента как на рисунке и сохраните изображение. Суть состоит в том, что в любой точке цилиндра, облако частиц будет иметь градиент от верха до низа. Мы имитировали проход луча света, идущего сверху.

Я использовал 170, 220, 240 для яркого цвета, 50, 90, 110 для темного цвета и 80, 140, 170 в качестве основного фона.

3-9

3.10. Вернувшись в 3ds Max, нажмите на слот карты во вкладке освещения Projector Map и выберите свой покрашенное изображение. Не забудьте поставить галку «Ambient Only»!

3-10

3.11. ПРИМЕЧАНИЕ: цель этого источника света — осветить это облако из частиц, и ничего больше.  Если у вас есть самолет в сцене, перейдите в «Список Включений (Include List)» этого источника света и добавьте свое облако Particle Event, которое называется «PF Source 01->Event 01″. Затем вы сможете добавить новые источники света, чтобы осветить ваш самолет, так что перейдите дальше и добавьте такие же Particle Event в этом списке источников освещения Exclude.

3.12. Теперь пришло время для проверки освещения. Перейти к материалу облака и верните Self-Illumination в 0, и выключите карту шума (Noise Map) в слоте Diffuse Color. Отрендерите!

(Примечание: частицы могут появиться прямо в камере на первых кадрах, потому что блокируются в конце эммитера цилиндра, так что удалите эти грани на цилиндре или перейдите к более интересному кадру)

Мы почти у цели! Теперь все, что нужно сделать, это объединить карту пространственного шума с нашим градиентным освещением.

3-12

3.13. Установите Self-Illumination на 50, и повторно активируйте карту шума в слоте Diffuse Color. Отрендерите снова! Все готово!

Если хотите, настраивайте Self-Illumination или покрутите ползунок Diffuse Map’s Amount, для смешивания карты шума и источника градиентного освещения.

Теперь поставьте на рендер всю анимацию и сходите сделайте себе чашечку кофе…

3-13

Блики на солнечной стороне

Помните, что ореол получается лишь тогда, когда облако подсвечивается с другой стороны? До сих пор мы не встречали ничего подобного в этом уроке, но есть легкий и не совсем честный способ симулировать его. Оставайтесь со мной.

4.1. Скопируйте эмиттер Cylinder01 в окне проекции «Сверху» и переместите копию всего на несколько единиц севернее.

4-1

4.2. Нажмите «6» для открытия Particle View и создайте копию Event 01.

4.3. В Event 02 измените положение объекта на Cylinder 02. Вы увидите двойные частицы в Top viewport, как здесь. Хочу также предупредить Вас, что количество частиц увеличится в два раза, так что приготовьтесь к медленному рендерингу…

4-3

4.4. Нажмите кнопку «M», чтобы открыть редактор материалов и создайте копию облака материала. Назовите ее «cloud_highlight».

Измените Self-illumination на 75, а ползунок Диффузной Карты на 25. Это позволит выделить материал более ярким и светящемся, чем остальные облака, чего мы собственно и добиваемся.

Вы можете еще ​​больше усилить эффект за счет снижения Self-Illumination в исходном материале облака.

4-4

4.5. Перетащите материал «cloud_highlight» к статическому материалу слота Event 02.

4.6. Отрендерите снова, чтобы увидеть новый облик. На первый взгляд, он может показаться гораздо лучше, но помните о недостатках текстуры и пересекающихся плашках? Они начнут показываться, как только вы отрендерите всю анимацию.

4-6

КОНЕЦ

Вот и все, я надеюсь, что это было информативно. Если вы нашли этот урок полезным, делитесь им в социальных сетях, пишите комментарии и ставьте лайки.

Автор: Джонас Ассинг

Источник: cgarena.com

Перевод: RAIT.kz – статьи о компьютерной графике