Привет всем!
Для начала хочу выразить благодарность и уважение Fiend3d за замечательный урок,
который вдохновил меня на эту статью. Я всегда испытывал зависть
пополам с восторгом, наблюдая как физический мир превращается в
сознании математика в набор уравнений.
Хочу так же предостеречь от попыток принять мои упражнения за готовую
технологию. Это всего лишь забавный эксперимент. Если кто-то найдет его
полезным - я не виноват :)
Итак, к делу! Рассуждая о том, как из плоской картинки сделать
объемный предмет я вспомнил о канале глубины (Z-буфер). Все, что нам
требуется - это получить фотографию объекта с равномерно ослабевающим в
глубину освещением. И желательно без переспективных искажений. Такой
фотоаппарат стоит у большинства из нас на рабочем столе (ну или по
крайней мере, на соседнем столе). Это обычный планшетный сканер.
Но разумеется, не все так просто.
Проблема №1: объекты имеют собственную окраску. И темные пятна мало отличаются от теней. Эту проблему я решил просто. Взял объект сделанный из гипса :) Вот он:

Между прочим - мне пришлось его слегка помыть :) Разумеется, если
Вам захочется взять что-то не из гипса - всегда есть баллончик с
краской :) Я сканировал с небольшим разрешением, но 16 бит на канал,
что бы сохранить нюансы в тенях и светах. Кстати, имейте ввиду:
расположение теней зависит от направления движения каретки сканера.
Дальше немножко фотошопа. Я взял красный канал (channels/split
channels) и записал его как отдельный файл (это лучше простого
"обесцвечивания" - desaturate). Да, чуть не забыл: стоит "обтравить"
объект и залить фон черным. И неплохо дополнительно высветлить наиболее
выступающие места (не ворчите, на все ушло не больше 15 минут):

Осталась ерунда. Объяснить 3DS Max'у что с этим делать.
Проницательный читатель уже кричит: "Дисплэйс! Дисплэйс!" - И он прав!
:) Вот только использовать дисплэйс-карту при рендеринге не хочется,
все-таки удобнее работать с геометрией. Значит - модификатор Displace,
который я применил к обычному объекту Plane. Что бы не мучиться с
подгонкой карта была приведена к пропорциям объекта 3х4 (1500х2000px):

У-упс! Как-то по-другому я это себе представлял... Итак проблема №2: регулярная сетка разбивает объект на квадратики,
как-бы "пикселы". Если увеличивать ее частоту - мы быстро вылетаем за
разумное количество полигонов. Кроме того, картинка слегка "шумит".
Очевидно, необходимо сглаживание. Микрошумы удаляем прямо в Displace
(Image/blur), макро-неровности при помощи модификатора Relax:

"Позвольте!" - скажет возмущенный читатель, - "А где же мелкие детали? За что боролись-то??"
Да, и это проблема №3. Решается она
сравнительно просто. Из той же картинки мы делаем карту бампинга,
конечно же normal bump. (я использовал маленькую бесплатную прогу Сrazybump )

Теперь неплохо бы еще удалить все лишнее. И что это за мерзкие разводы по контуру?
А это проблема №4. Используя только
один вид невозможно получить полную информацию о форме объекта. За угол
сканер заглянуть не может, и там где заканчивается сканированная карта
начинается лажа. Значит просто отрезаем эти части совсем. Не надо
мучиться и прицеливаться. Используем карту прозрачности (opacity map).
Помните, я попросил вначале "обтравить" картинку? У Вас должен был
сохраниться альфа-канал!

Говорите, не слишком-то похоже на гипс? Ну что ж, пора включать глобал иллюминэйшн:

И наконец в движении
Вот финальные раскладки по настройкам модификаторов и материала:


Исполнено на 2x1800/ATLON64/2Gb, Win2000SP4, Autodesk 3DSMax 9sp1, V-Ray 1.53RC1
Надеюсь, что мне удалось немного развлечь публику :) спасибо за Ваше время!
Михаил Наумов a.k.a. Mic Nau
Источник: http://www.render.ru/books/show_book.php?book_id=606 |