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  9
10111213141516
17181920212223
24252627282930
31 
Julianna Willis Technology

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

Mad Dan
16.01.2007 23:11 Всё с чего-то начинается, а вообще статья довольно интересная!

СерёгаGW
03.12.2006 19:51 Главное чтоб руки не опускать=)Лично хочется в релизе увидеть этот проект,модели кластные,мир довольно таки красив.Хотя лучше над врагами подумать чем лондшавт раскрашивать=( Верю Россия будет в переди=) Статейка интересная,читал с удовольствием)

crest
11.09.2006 14:50 Ничего нового. Плетёмся в хвосте у все мира =((

rendermax80
02.08.2006 16:33 Не скоро мы выйдем на мировой уровень.
лет на 5 отстаём!

real arhangel (3D Work)
13.07.2006 19:42 давай денег милиончиков этак 10 долларов или рублей в эквиваленте будет сносный результат!

eIGHT
28.06.2006 23:04 po4emu kopirujet ja ni4evo kopirovanogo ne vizhu pohodu vse sovjo a gde 4erpat' vdohnovenije eto uzhe delo kazhdogo =)

RENat_ukg (3D Work)
28.06.2006 15:02 проверте в статье ошибки узкоспециальных понятий и в английских понятиях тоже пару очепяток недопечаток присутствуют...

S.andr (3D&2D Work)
24.06.2006 11:38 модельки и текстуры хорошие, а террайны мне не понравились.
Зачем игроку видеть облака из космоса? =)

ARG (3D Work)
19.06.2006 15:34 Насчёт HMM5 причём тут Дисайплс и вар3 ? Ничего общего... герои они и есть герои...

А статья мне очень даже.

Battou
19.06.2006 07:17 А помоему арт прикольный, и совсем не зерги, чтож теперь, всё жуко-образное - потомки зергов? Всё отлично!!! С нетерпением жду завершения этого игрового проэкта!

Nitisara (3D Work)
18.06.2006 15:22 Эти жуки в роли врага мне никак не видятся...

morgk
18.06.2006 13:03 В русских играх ёлки на всех планетах растут :)))

musson
17.06.2006 01:34 Ух, спасибо за статью:)
Просто отлично!!!

KuvicK
16.06.2006 22:51 Концепт:-(
Зерги...
Эх-х-х. Ctrl+c, Ctrl+v.
HMM5-плохая копия Дисайплс и Вар3. И вот опять кто-то что-то копирует.
Нового по дизайну - ничего.
Когда же мы в России будем создавать что-то новое?!



далее