В этом примере мы будем делать
нечто отличающееся от того, к чему вы,
возможно, привыкли. Поскольку нашей
задачей является моделирование и
текстурирование фотореалистичной
модели рыбы, мы собираемся взять за
основу нашей модели текстурную карту.
Пожалуйста, обратите внимание, что хотя
это руководство ориентировано на LightWave,
с равным успехом оно применимо к любому
приложению для 3-х мерной анимации,
поддерживающего изображения в области
просмотра построителя моделей.
1. Я начал со сканирования фотографии
рыбы на планшетном сканере (рис. 1),
которое надо было отделить от фона и
обработать инструментами paint и clone в
пакете Photoshop. Для получения острого и
насыщенного изображения, которое станет
цветовой картой нашей рыбы, была также
проведена гамма-коррекция. Картинка
была названа color_map и сохранена. В
качестве основы для текстуры можно
также использовать настоящую рыбку,
хотя, возможно, вам придётся вырезать из
нее тонкую плоскую ленту, чтобы положить
ее на стекло сканера. У этого метода есть
пара преимуществ, во первых, текстура
будет наиболее острой и аутентичной, а
во-вторых, когда босс увидит, как вы
разделываете рыбу на своем столе и
осторожно кладете на сканер, он решит,
что вам остро требуется отдых и даст
неделю отгулов.
2. В фотошопе конвертируйте цветное
изображение в изображение в серых тонах
и повысьте контрастность, чтобы
получить четкое различие между светлыми
и темными тонами. Эта картинка (рис. 2)
будет использоваться в качестве образца
при создании модели рыбки, а также как
карта текстуры при управлении
рассеянием. Назовите ее gray_map и сохраните.
3. В выбранном вами modeler'е загрузите gray_map
и поместите в окно просмотра x. Для
создания грубого контейнера вокруг
изображения я использовал функцию MetaNurbs
в LightWave, и перешел к добавлению
контрольных точек посредством
инструмента knife (рис. 3) Затем я
отмасштабировал эти точки и перенес в
нужное положение. В моделлерах типа Rhino 3D
или Alias, основанных на nurbs, вы можете
захотеть рисовать кривые в проекции z,
оттащить их в нужное место и затем
превратить в поверхность nurbs.
На рис. 5 и 6 показаны виды
проекций y и z. Подобным же образом
создайте плавники, возможно, вы
захотите создать их как отдельные
объекты, а затем присоединить в
окончательном варианте модели.
Глаза - это просто сферы, слегка
приплюснутые и посаженные на
положенное место.
На рис. 6 показан окончательный
проволочный каркас из многоугольников
4. Обратите внимание, что модель
рыбы отмечается лишь одним именем
поверхности, потому что атрибуты
материала будут модулироваться "глобальной"
текстурной картой. На рис. 8 показана
наша карта прозрачности. Карта основана
на изначальном изображении в серых
тонах, где все непрозрачные области
закрашены черным, а белые участки
соответствуют полной прозрачности.
Чтобы изобразить просвечивающие
плавники реальной рыбы, изобразите на
концах плавников постепенный переход от
черного к белому. Я для этой цели
воспользовался комбинацией
инструментов clone, smudge и blur, наряду с
легким прикосновением airbrush и dodge/burn в
пакете Photoshop.
5. На рис. 9 показана карта зеркальности,
которая модулирует отблески и блики при
окончательном рендеринге. Превратите
черно-белое изображение в негатив и
прорежьте отверстия для глаз, которые
должны освещаться равномерно.
6. На рис. 10 показана текстура, которая
модулирует поверхность, создавая
иллюзию неровностей и выпуклой
структуры. Это позволит нанести
завершающий и наиважнейший штрих - чешую.
Обратите внимание, что я вырезал
изначальную серую текстуру с тех мест,
которые должны быть покрыты чешуей и
заменил текстурой "чешуя". Также не
забудьте прорезать дырочки для глаз,
чтобы оставить их
Теперь, когда модель и карты текстур
готовы, загрузите их в приложение
трехмерной анимации по вашему выбору и
примените к соответствующим каналам
материала: цвету, зеркальности, текстуре
и прозрачности. Для текстур я применял
планарный мэппинг по оси x. Наконец,
загрузите первоначальное серое
изображение и примените его к каналу
рассеяния. Канал рассеяния управляет
поглощением и отражением света. Так как
у органических объектов рассеяние редко
бывает равномерным, неплохо
промодулировать его какой-либо
текстурой. Автоматический выбор размера
текстур прекрасно их разсестит на
объекте, потому что это заложено в
основу модели. Вам придется подобрать
процентный уровень воздействия каждого
из этих каналов. Попробуйте методом тыка
- пока не выйдет так, как следует. При
окончательном рендеринге я
воспользовался затеняющим plugin'ом для
LightWave под названием HSVBoost из коллекции
Worley Labs' (www.worley.com) Polk, который подбирает
уровень насыщенности, основываясь на
величине угла камеры относительно
поверхности рыбы, что добавляет
реализма.