Журнал «Компьютерра» № 8 от 28 февраля 2006 года - Компьютерра. Страница 18
Теперь размножаем фрагмент кирпичной кладки на требуемую площадь. В отличие от текстур модель может быть не квадратной, то есть мы можем сделать фрагмент кладки, в которой швы будут проходить только между кирпичами. Такой способ разбивки сильно облегчает создание модели.
Иногда требуется большую площадь замостить множеством мелких, причем неодинаковых объектов. Эту задачу можно решить при помощи мозаичных моделей. Но если, например, надо создать лужайку, на которой лежит мяч, приминающий траву, то мозаичные модели помогут едва ли – придется вручную «пригибать травинки». Карты смещения позволяют решить эту проблему проще.
Допустим, наши объекты отличаются друг от друга только небольшим числом параметров. Если их три, то информацию о каждом можно хранить в графическом RGB-файле, в котором каждому объекту соответствует один пиксел. Удобство хранения информации – не главное преимущество карт смещения. Главное – это удобство редактирования. Вы можете «придавить» траву в каком-то участке лужайки прямо в графическом редакторе, изменив яркость тех пикселов, которые соответствуют травинкам под мячом. Также карты смещения могут хранить и смещение объектов (эта функция и дала им название).
При моделировании природной среды особое внимание следует уделять отсутствию повторяющихся элементов, единственное повторение может сильно испортить общее впечатление. Однако рисовать каждый листочек на дереве нет ни времени, ни желания. Для этого все объекты обычно разбивают на группы в соответствии с удалением от камеры. Листья на ближнем плане будут хорошо видны, поэтому их форма и текстура должны быть тщательно проработаны, в то время как листья на среднем и дальнем планах могут быть просто нужного цвета и напоминать лист по форме. Для листьев переднего плана создается некоторое количество шаблонов геометрии и текстур. Соответственно, если и того и другого по пять экземпляров, получаем двадцать пять различных типов листа. Обычно сюда входят пожелтевшие, завернувшиеся и больные листья.
При создании 3D-деревьев сложной формы проблемы обычно возникают на стадии наложения текстуры. С другой стороны, каждая ветка дерева по существу является цилиндром. Для более удобного наложения текстуры дереву приходится менять форму, для этого чаще всего создается скелет, как у компьютерного персонажа. При помощи костей дерево приводится к виду, когда все ветки торчат параллельно стволу, а затем на дерево накладывается текстура посредством цилиндрического проецирования (Cylindrical Mapping), и наконец, дереву придается первоначальная форма. Таким образом, на каждой веточке текстура аккуратно лежит вдоль направления роста.
Разнообразить картину позволяют капельки росы, насекомые, упавшие листья и ветки. И, конечно же, нужно следить, чтобы сцена не выглядела стерильной, немного «пыли» не помешает.
В сценах, изображающих природную среду, часто встречаются водные объекты: пруды, лужи и пр. Они не должны выглядеть ни зеркалами, ни бассейнами с идеально чистой водой. Во-первых, поверхность пруда может быть геометрически плоской, и тогда эффекты ряби будут создаваться за счет текстур и освещения. Или же рябь придется создавать с помощью геометрии. Для тихого пруда в лесу подойдет первый способ, если же нужно сделать быстро бегущий ручей, то струи воды придется рисовать полностью.
Для того чтобы передать глубину пруда, воду стоит сделать как объемный объект, то есть так, как она бы выглядела, если водоем полностью заморозить и достать весь лед. Далее следует тщательно подобрать свойства воды: величины прозрачности, преломления и отражения можно посмотреть в физическом справочнике. Существенно улучшит эффект наличие на дне растительности или каких-то предметов, только часть которых находится над водой: таким образом зритель увидит эффект преломления.
При создании урбанистических сцен моделирование (создание геометрии) обычно проще, чем в предыдущем случае. Сказывается обилие правильных форм: прямых линий и окружностей. Зато зритель, особенно горожанин, куда чаще видит подобную среду, и его гораздо труднее обмануть. В чем вы скорее заметите ошибку: в форме листа березы или банки кока-колы? Соответственно моделирование должно быть более точным, да и подбор текстур несмотря на их количество (большинство из них можно сфотографировать, не отходя далеко от дома) не стал проще.
Улицы города буквально покрыты следами жизнедеятельности людей: будь то брошенный окурок, тормозной след или масляное пятно на асфальте. Соответственно и 3D-реконструкция должна впитать в себя это влияние человека. Так же большинство предметов на улицах сильно изношены, что добавляет кучу проблем художнику.
Ржавчина – неотъемлемая черта города. И не во всех местах она одинакова: углы и стыки ржавеют быстрее. Не стоит оставлять без внимания дожди и брызги, которые летят от автомобилей. Из-за брызг мусорные контейнеры со стороны дороги всегда более грязные. А пятна ржавчины имеют потеки из-за дождей.
Городские лужи тоже сильно отличаются от тех, что можно встретить на природе. Почти наверняка ее поверхность будет покрыта хорошо знакомыми радужными пятнами. Дна, скорее всего, не видно, и вода в ней может быть грязной и неоднородной.
Фотография всегда была эталоном для компьютерных художников. Постепенно она стала эталоном реальности и для зрителя. Теперь многие 3D-работы включают в себя и недостатки фототехники, от которых могли бы легко избавиться. Я имею в виду конечную глубину резкости. Некоторые части кадра сознательно размываются, чтобы приблизить результат к фотографии. 3D-работы стилизуют под старые кадры, добавляя шум и царапины. Иногда применяется эффект «нечестного» отражения и окружения. Например, для визуализации автомобиля не всегда создается 3D-окружение. Достаточно бывает использовать некий аналог панорамной фотографии, установленный «вокруг» автомобиля. В результате машина будет находиться в той местности, что запечатлена на фото, и даже отражения и блики на кузове будут выглядеть натурально. Эта технология называется HDRI.
Обычные панорамные фотографии можно представить как развернутую поверхность цилиндра, раскрашенного таким образом, что если смотреть из его центра, то создается эффект присутствия. HDRI же представляет собой развертку сферы, на которую кроме изображения накладывается карта источников света и карта отражающей способности. Для создания таких файлов применяются программы, похожие на те, что прилагаются ко многим моделям цифровых камер для получения панорамных снимков.
В отличие от классического искусства, 3D далеко не всегда столь самостоятельно. Подавляющее большинство художников работает в индустрии кино и рекламы. И здесь они перестают быть деятелями искусств и превращаются в наемных рабочих. В этих областях обычно их задача сводится к экономии денег. Большинство кадров, которые в кинофильмах делаются при помощи компьютерной графики, с тем или иным успехом можно было бы снять и без использования 3D. Например, в недавнем фильме «Дневной дозор» сцену, в которой автомобиль Mazda RX8 ездит по фасаду гостиницы «Космос», можно было бы отснять на специально сделанной декорации фасада дома или используя уменьшенную модель автомобиля. Но гораздо дешевле и проще обойтись 3D, тем более что и качество ничуть не пострадало от такого решения.
Получается, что, стремясь к фотореализму, компьютерные художники не только достигают творческих высот, но и существенно расширяют область применения своего труда. До недавнего времени в кинематографе крупные планы с лицами главных героев оставались недоступными для компьютерной графики, но в конце концов и этот рубеж пал (в фильме «Кинг-Конг» главную роль играет полностью компьютерная обезьяна). В недалеком будущем могут появиться полностью компьютерные фильмы, неотличимые по качеству от снятых традиционным способом. И, конечно же, наступит время, когда, подобно живописи, копирование окружающего мира перестанет быть интересным и 3D-, и кинохудожникам.