Если вернуться к списку сервисов на eHub, мы там как раз и увидим локальный поиск по различным городам, специализированные поиски по различным группам товаров, веб-офис для риэлторов, управление персональными финансами, напоминалки о ваших делах, обзоры бытовой техники от покупателей, сервис по ведению онлайн-резюме при поиске работы, сервис по созданию виртуальных туров для гостиниц и квартир в аренду и множество других сервисов, кажущихся на первый взгляд заточенными под малое количество клиентов. Да, надо прорабатывать вертикальные ниши. Вполне вероятно, что именно там и лежат золотые слитки.
Фотореализм
Автор: Алексей Калиниченко
Классическое искусство всегда тяготело к реализму: изображения на полотнах и скульптуры становились все более и более похожи на то, что человек мог увидеть собственными глазами. Со временем, однако, «копировать» реальность художникам становилось все менее интересно. Компьютерное искусство — гораздо более молодое — сейчас находится в той точке своего развития, когда создание изображений, неотличимых от фотографий (а именно их мы примем за эталон реалистичности), стало возможным, но еще не наскучило 3D-художникам. Правда, в галереях 3D-сайтов встречаются работы, уже перешагнувшие грань реальности. Отметим также, что к фотореализму призывают и основные «потребители» 3D-продукции: реклама и кино, подкрепляя свой призыв одним из самых сильных в мире аргументом — долларом.
Эта статья посвящена методам, которые позволяют в той или иной степени приблизиться к фотореализму. Я не буду привязываться к какому-либо пакету трехмерного моделирования, методы, описанные здесь, могут быть с одинаковым успехом применены и пользователями Maya, и приверженцами 3D MAX, Lightwave и т. д. Бил Флеминг (Bill Fleming) в своей книге «Создание фотореалистичных изображений» выделяет несколько принципов фотореализма, приведем некоторые из них:
1. Беспорядок и хаос.
2. Соответствие сцены ожиданиям зрителей.
3. Отражающие поверхности.
4. Закругленные края.
5. Пыль, грязь, трещины и царапины на объектах.
6. Толщина материала объекта.
Оглядитесь вокруг и вы увидите, что беспорядок и хаос не зря стоят в списке на первом месте: практически все предметы в нашем мире находятся в некотором беспорядке. И если вдруг в вашей комнате книги будут лежать аккуратными стопками, складки на шторах приобретут строгую периодичность, тапочки у кровати встанут по стойке смирно, даже ворсинки ковра вытянутся в струнку, проснувшись, вы вряд ли поверите в реальность происходящего. С природными объектами ситуация только усиливается: если два одинаковых стула мы вполне можем увидеть, то два идентичных дерева или камня на одной картинке уже вызывают недоверие. В общем-то, использовать в сцене (даже природной) одинаковые элементы можно, но лишь так, чтобы зритель этого не заметил: например, один и тот же камень с разных сторон может выглядеть абсолютно по-разному. В любом случае следует избегать упорядоченности.
Второй принцип требует соответствия элементов сцены друг другу. Человек сначала формирует представление о картине в целом, а уже потом рассматривает детали, и важно, чтобы эти детали не вступали в противоречие с первым впечатлением. Если, скажем, вы изображаете стол доисторического людоеда, то мобильный телефон среди обглоданных костей неуместен. Конечно, я утрирую, обычно ситуации менее очевидны: например, к избушке, в которой кто-то живет, обязательно ведет тропинка; на окнах, как правило, висят занавески; дверь рядом с ручкой темнеет от частых прикосновений… Словом, художник должен немного пожить в сцене, чтобы как можно меньше подобных нюансов ускользнуло от его внимания.
Отражающие поверхности в сцене создают впечатление «связанности». Грубо говоря, если есть две картинки и на одной присутствует «лишнее» отражение (его не должно быть по законам физики, или оно должно быть менее заметно), а на другой «нужного» отражения нет, то зритель охотнее «верит» первой — естественно, при прочих равных условиях. Конечно, и здесь перебарщивать не стоит; не нужно делать предметы сплошь хромированными и зеркальными, достаточно лишь обозначить способность предметов к отражению. Напомню, что нашему мозгу трудно определить, правильное отражение или неправильное, особенно на сложных поверхностях.
Характерной чертой нашего мира является полное отсутствие острых углов, да, именно полное, все предметы при достаточном увеличении имеют скругленные углы. А в 3D-модели угол может быть точным, и при любом увеличении будет оставаться таковым. Из-за этого переход цвета на углах становится слишком резким и неестественным. Чтобы избежать этого эффекта, приходится «снимать фаску» с углов, заменять прямой угол на несколько тупых, тогда граница цвета становится более «мягкой» и уже не режет глаз.
Продолжая тему несовершенства нашего мира, вспомним вездесущих спутников человека: пыль и грязь. В какой-то мере все подвержено негативному воздействию окружающей среды. И если художник изобразит мир «стерильным», это вполне может вызвать отторжение у зрителя. Вы никогда не обращали внимания, что машины на автомобильных выставках и салонах выглядят совсем не так, как на улицах города? Поэтому для достижения реалистичности придется не только создать предмет, но и «загрязнить» его и даже состарить. Многие предметы покрыты не только пылью и грязью, но и ржавчиной, гнилью или трещинами. И если ржавчину и гниль реализовать довольно легко (создаваться они будут одинаковыми методами), то трещины придется делать отдельно. Все это не только позволяет придать вещам более правдоподобный вид, но и добавить в картинку детали, на которых глаз может задержаться. Однако не забывайте о чувстве меры: полусгнивший драндулет на скоростном шоссе, кузов которого зияет дырами, смотрится ничуть не реальнее, чем новехонькая, с иголочки машина без единой пылинки.
Напомню также, что бесконечно тонких предметов в природе не бывает, всё, даже папиросная бумага имеет толщину, а вот поверхность толщиной в один полигон имеет толщину равную нулю. Создавая такие поверхности, 3D-художник рискует не только потерей достоверности изображения, но и корректностью рендеринга. В самом деле, откуда программе знать, какая из сторон такой поверхности является лицевой. Совет прост: если вы не хотите проблем, не создавайте незамкнутые (именно они имеют нулевую толщину) поверхности.
Использование растровых карт при моделировании
Для создания «плоских» объектов, таких как окна и двери, очень хорошо подходит метод моделирования по растровым картам, проще говоря, по фотографии, которая используется и как чертеж для создания геометрии, и как текстура. Пусть нам надо смоделировать дверь. На фотографии она имеет перспективные искажения, ее форма далека от прямоугольника, тогда как 3D-модель двери должна быть прямоугольной. Для этого искажения убираются при помощи перспективного преобразования (в Adobe Photoshop Transform > Perspective). Теперь мы имеем выровненную фотографию. Она уже подходит для моделирования формы, но еще не годится для использования в качестве текстуры.
На фотографии видны блики от вспышки (иногда и отражение фотографа попадает в кадр) и некоторые другие детали, которые не должны попасть на текстуру финальной модели. Дверные ручки тоже нужно удалить со снимка, если, конечно, мы не хотим, чтобы они были нарисованы прямо на поверхности модели. Все это следует «подчистить», для чего обычно используется инструмент клонирования (Clone Tool).
После того как все необходимые операции проделаны, можно приступать к моделингу. Фотография загружается в качестве фона в 3D-редактор, и по ней, как по шаблону, вырисовывается вся геометрия. Начать следует с рамы; толщину и форму в поперечном сечении выбираем исходя из собственного опыта или используя реальные данные. При моделировании избегаем острых углов и делаем модель рамы замкнутой (помните пункты 4 и 6?), а также не используем поверхности, перпендикулярные плоскости окна: текстура на них будет «размазываться». После того как модель рамы готова, на нее можно наложить текстуру самым простым планарным методом (Planar Mapping).
Теперь приступаем к моделированию стекла. Оно может быть сделано из единственного параллелепипеда, «прошивающего» все перемычки рамы насквозь. Если мы хотим сохранить загрязнения на стекле, на текстуре придется «вычистить» и стекла, чтобы исчезло все, что просвечивает сквозь них, и остались только те загрязнения, которые нам нужны. Эту текстуру стоит «положить» не только в цветовой канал, но и использовать ее как карту прозрачности и отражения, тогда стекло не будет прозрачным и отражающим в загрязненных участках. А если положить ее и в канал неровностей (Bump Mapping), грязь будет выглядеть еще и шероховатой, что тоже добавит реализма. Теперь мы можем вставить стекло в раму, и наше окно будет выглядеть точно так же, как на фотографии!