Кое-что о рыбках

Совмещение реального изображения с фантастическими элементами уже давно не редкость, даже наоборот. Без этого сейчас не обходятся ни создатели кинофильмов, ни рекламисты, ни аниматоры.

(c) Компьютерная газета


Вспоминается далекий, кажется 91, год. Вышедший "Терминатор 2" поражал воображение до неописуемых масштабов - создание происходящего казалось невозможным. Впрочем, в ту пору это и было почти невозможно - недаром были затрачены многие миллионы зеленых рублей. Но прошло немногим более 8 лет - и появились возможности создавать достаточно реалистичные сцены без огромных затрат (особенно в этой стране:). Создание тарелки, взлетающей с поля, займет у вас немногим более получаса, если не считать рендер, но потом, искусственно немного подпортив качество, вы сможете показывать это видео друзьям и рассказывать очень поучительные истории о ваших контактах с неземной расой. Это все шуточки, конечно. Но возможность такая есть. То есть, имея 3D Studio, можно создать достаточно профессиональные видеоспецэффекты, даже не будучи специалистом в этой области. В общем-то, делается это просто и почти интуитивно понятно. Конечно, сегодня мы не опишем процесс создания чего-то вроде рекламы минеральной воды, часто показываемой по телевидению, в которой нечто вроде автомобиля взмывает в небо, хотя и это не слишком сложно делается. Начинать надо с малого. Поэтому просто изобразим аквариум. Заодно будет подробно описан процесс создания стекла - одна из наиболее часто используемых операций.

Сегодня, как вы можете догадаться, продолжается процесс изучения свойств материалов и освещения в 3D Studio Max. Наша конечная цель - нарисовать достаточно реалистичный аквариум классического круглого вида, с плавающей рыбкой (по идее золотой), стоящий на столе в центре площади. В качестве последнего мы используем уже готовую картинку из моего клипарта.

Итак, приступим прежде всего к аквариуму. Для начала припомним, какие примерно по толщине стенки реального "рыбьежития" - это необходимо. Всегда, работая в 3D Studio Max или в других серьезных программах, помните, что они сделаны практически безупречно с той точки зрения, что передают реальные свойства веществ в реальной обстановке, которую вы создаете. Поэтому самый лучший способ сделать что-либо реалистичным - использовать реальные параметры.

Создавать аквариум мы будем из контура. Поэтому, используя Standart Primitives => shapes => Line, нарисуйте половину аквариума в сечении по вертикали. Обратите внимание на то, что аквариум должен быть круглым, поэтому при рисовании контура используйте Smooth тип линии. Пока не задавайте толщину стенок аквариума. Обратите внимание также на тот факт, что основание аквариума плоское, поэтому для смежных здесь точек необходимо задать тип линий corner. Приступим к толщине стенок. Рекомендуем задать его крайне небольшого масштаба, так как нам необходима хорошая степень прозрачности аквариума. Теперь примените модификатор Lathe, поставив значение Max. В принципе, первоначальная степень создания сцены окончена. Передвиньте сосуд за пределы видимой области и приступите к созданию стола.


Стол у нас будет небольшой, но достаточно приличный:) Обратите внимание на то, что диаметр крышки столика должен быть лишь немного больше, чем диаметр аквариума. Создадим для начала ее. Используется для этого самый простой путь - через примитивы. Создайте цилиндр, который по диаметру на 20 процентов больше, чем аквариум, и небольшой толщины, которую определите на глаз. В принципе, крышку можно было оставить и такой, но стиль советского примитивизма - не лучший вариант на фоне прекрасной архитектуры 18 столетия. Поэтому введем небольшое усложнение - создайте торус, описанный вокруг цилиндра (для тех, кто забыл геометрию, - на первой иллюстрации можно увидеть, что должна представлять данная комбинация объектов). Постарайтесь согласовать размеры цилиндра и торуса таким образом, чтобы они вместе представляли достаточно эстетичную крышку столика. Займемся ножкой. Если проанализировать, то можно прийти к мысли, что в этом объекте будут преобладать два свойства - ножка будет фигурой вращения и сложной, резной формы. В реальной жизни ее изготовили бы на токарном станке, мы сделаем почти то же самое - применим Lathe, то есть вращение к созданному контуру. Занимаясь последним, вы вольны в своих фантазиях и вариациях, так как сделать ее нормальной, приятной на вид гораздо проще, чем создать что-то отторгающее взгляд. Поэтому подробно останавливаться на ней не будем, скажем только, что используется все тот же контур и все тот же Lathe с параметром Max. Также необходимо создать "золотую рыбку". Обратите внимание на то, как небрежно она выполнена у нас. Это не просто оттого, что авторам лень вырисовывать желтого карася (хотя и это тоже:). Просто этим примером мы показываем, что никогда не стоит делать больше той работы, которую нужно сделать. Так как наш аквариум будет стоять достаточно далеко от наблюдателя, виден будет только неопределенный контур желтого цвета, который будет одинаково виден вне зависимости от того, тщательно или наспех нарисована рыбка. Поэтому нарисуйте примерный контур, что-то вроде того, что вы рисовали в самые неудачные моменты творчества в детском саду. Примените Extrude и поместите рыбку в аквариум, соедините ножку и крышку стола (только ни в коем случае не группируйте их, хоть это может показаться достаточно логичным в данной ситуации). Подгоните размеры, если они не будут совпадать. На иллюстрации 1 можно ознакомиться с конечным вариантом данного этапа.

Теперь наша задача - создать и наложить материалы на объекты. Начнем, как с самого трудного, с аквариума, так как надо создать не просто эффект стекла, что само по себе не так просто, а эффект аквариума с водой да еще и рыбой. Для решения этого вопроса есть несколько путей, на наш взгляд, следующий - самый простой и эффективный. Нам понадобится разбить сосуд на несколько частей, каждой из которых будет присвоен свой идентификационный (ID) номер. Для этого откройте Modify => More => Edit Mesh. Вообще, часто используемые модификаторы стоит вынести в панель кнопок, убрав оттуда ненужные. Итак, нажав Edit Mesh (подробное описание пользования этим модификатором есть в статье "Новая скульптура", которую без особых проблем можно взять на сайте КГ), выделите сначала самую кромку аквариума (в режиме Face) и назначьте ID1. Затем выделите примерно 20% сверху (это у нас будет часть, не заполненная водой) и установите ID2. Остальную часть обозначте под третим индификационным номером (тут у нас будет водичка и рыбка). Также необходимо на данном этапе создать три источника света Target Spot, которыми из разных направлений осветить аквариум. Выполнив это, можно переходить в Material Editor.


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

Standart/ Ambient, Diffuse - светло голубые. Specular Level - 123, Glossiness - 17, Soften - 0,1. Надеемся, что после трех статей, наполненных просто-таки подробнейшим описанием значения каждого из этих свойств, более упоминать, для чего это выставляется, не имеет смысла.

Второй - Standart, Opacity - 19, Ambient, Diffuse - Белый. Specular Level - 90, Glossiness - 55. Поставить флаг 2-Sided - в данном случае это основа успеха, ибо если не будет видно обе грани, эффект прозрачности не будет реалистичным.

Третий материал - Standart, 2-Sided - On. Ambient - синий, Diffuse - синий (но темнее, чем предыдущий), Specular должен иметь то же значение, что и Ambient. Specular Level - 90, Glossiness - 55. Теперь создайте карту для reflection - reflect/refract. Параметры можно оставить данные по умолчанию.

Для рыбы создайте отдельный материал - Standart, отражение - поменьше, Self-Illumination - темно-желтый.

Для крышки стола - Standart/ Blinn. Opacity - 12, Ambient Diffuse - былые. Specular Level - 148, Glossiness - 31, Soften - 0,1. Конечно, столик выйдет немного модернистский, но в пейзаж вольется достаточно неплохо. Если вас этот вариант не устроит, можете наложить готовую карту древесины или мрамора, которые входят в стандартный набор библиотеки материалов программы.

Для ножки - Standart/ Metal Ambient - серый. Diffuse - White. Specular Level - 163, Glossiness - 84 (может, и много, но выглядит достаточно симпатично).

Приступим практически к самому главному - необходимо сделать так, чтобы тень от стола с аквариумом легла на площадь. Вы должны четко разделять фон от того, что вы нарисовали, - всю реакцию на объекты надо задавать вручную. Для того чтобы сделать это, создадим вспомогательную плоскость. Для этого откройте Основное меню => Geometry=> Patch Grids=> QuadPatchs. Растяните ее примерно на всю площадь - должно складываться впечатление, что плоскость как бы лежит на ней. Затем зайдите в Material Editor и выставьте следующие параметры: Matte/Shadow. В нем устанавливаем флажок Receive Shadows и применяем к плоскости. Это нам дает следующий результат: на плоскости видны все тени, отбрасываемые объектом, но сама она не видна! Да, если вы не нашли себе подходящую картинку заднего плана, вы можете взять по адресу www.mysiteinc.com/KGRules. Также там вы найдете готовый max файл.

Теперь поставьте стол так, чтобы он был пропорционально естественен. Да, обратите внимание на то, что ваша тень не должна падать поверх тени от дворца, так как это невозможно с логической точки зрения. Готовый вариант виден на иллюстрации 2.

Ну, вот и все. Прочитав следующую статью, которая начнет самый важный раздел - анимацию, вы сможете сделать, к примеру, плавающую рыбку:).

Юрий Груский, Олег Гришанович


Компьютерная газета. Статья была опубликована в номере 47 за 1999 год в рубрике soft :: графика

©1997-2024 Компьютерная газета