Уроки: 3ds Max

3D-сканер чужими руками, или лень - двигатель прогресса

3D-сканер чужими руками, или лень - двигатель прогресса

Дизайнер должен быть ленив, что бы достигать максимального результата минимальными средствами.
Виктор Плышевский

Привет всем!

Для начала хочу выразить благодарность и уважение 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

64000 Автор:
Актуальность: 467
Качество: 489
Суммарный балл: 956
Выбор Публики
Голосов: 62 оценки

Отзывы посетителей:

аватар
 
Santyago 7 0
круто если нужно барельеф каконить сделать .
аватар
  vip
Mic Nau 486 0
Модератор форума
первое, что пришло в голову... Лень было гримироваться
аватар
 
Aleksandr dolnikov 2 0
А свою физиономию не пробовали отсканить
аватар
 
Cor Corman 2 0
это хороший способ если надо сделать симетричную модель и неважнецкого качества, а данная лошадь нифига не симетричная. я б полигонами сделал, детали крыльев и морды - бамп или пожмакать кисточками.
аватар
 
DNaive 12 0
dimson3d думаю просто сделай фото с двух сторон, т.е. с обоих боков и все
аватар
 
а почему в оригинале у коня грива плоская, а в результате - какая-то выпуклая?
аватар
  vip
Mic Nau 486 0
Модератор форума
2 Fiend3d :)
аватар
 
Fiend3d 229 0
Лень - отсутствие или недостаток трудолюбия, предпочтение свободного времени трудовой деятельности.
аватар
 
Shiva 204 0
2 Mic Nau: )) отвечаю - на эту модель ушло.. хмм.. так чтоб не соврать - 15 мин обеденного перерыва. За эти 15 мин это Сначала был классический Инопланетянин с большой головой, потом зомби из группы Iron Maden, и только потом вот этот Лось.. ) а потом еще минут 20 баловался с retopology в Silo - сетку перерисовывал окуратную.

2 Taras Burlin: угу, есть такой способ. амного более качественый результат. Но, там свои недостатки - тени.. Т.е. освещая с одной стороны мы получаем тени отбрасываеммые выступами.. Но.. если это мелкий барильеф (лепка) - то получается практически 90% оригинал.. хочешь дисплейс, хочешь Нормал мапа.. и Весьма точно и качественно.. эх.. вот если бы не тени.. =\
аватар
 
Nitisara 27 0
Миша, спасибо интересный тест! :)
аватар
 
Taras Burlin 2 0
Читал гдето способ подобной развлекухи. Там нормал мап получали фотографируя объект поочерёдно освещаемый с трёх сторон по осям координат. Полученные фотки кидаются на каналы. дальше понятно.
аватар
  vip
Mic Nau 486 0
Модератор форума
2 Shiva:
CrazyBump действительно дает normal bmp далекий от истины. Но "в наглую тупо фотку на бамп" - все-таки хуже - проверено :)
Про тонкости сканирования автор не упомянул вполне сознательно, дабы не загромождать статью. Но про то, что в комнате должно быть темно - да, каюсь, просто забыл. Видимо потому, что у меня всегда темно :)
Ну и напоследок, про "влегкую набросать",- если не секрет, сколько времени ушло например, на эту модель: http://img192.imageshack.us/my.php?image=demon7xs.jpg ? :)

А на самом деле - спасибо за квалифицированный ответ! Я не зря написал в начале, что это "всего лишь забавный эксперимент". Реальное применение подобных технологий (даже если бы все было идеально) весьма ограничено... В лучшем случае - поставитьфигурку на полку в интерьере, да и то, не подлетать к ней близко...
Спасибо всем, кто не поленился дочитать до конца :)
Эксперименты, тем не менее, продолжаются... но уже в других направлениях
аватар
 
Shiva 204 0
1) Гыгыгы.. Дисплеис отлично и в максе перегоняется в геометрию ))) не буду говорить "подключайте Мозг" НО.
2) Статья забавная. Как вариант для ленивых - сойдет.
К сожалению бесплатная прога CrazyBump - дает весма отдаленно напоминающий правду нормал мап. И к этому же Сожалению большенство людей почему то этого не видят. =\ Рельефно - и зашибись. А то что положи в наглую тупо фотку на бамп и получиш +- ту-же самую Чушь.. никто не понимает.
3) Автор забыл упомянуть еще о тонкостях сканирования. Я уточню - Фотик не подойдет - нужен именно сканет с способностью "Обьемного" сканирования. Не пугайтесь этого слова, к 3Д это отношения не имеет. просто Раньше сканеры имели точку фокуса которая распологалась как раз над поверхностью стекла, и все что дальше - Размывалось. Сейчас практически Все сканеры работают ка фотоаппараты - т.е. фоткают когерентно Вглубь на большое растояние. т.е. как бы Обьем. а не плоский лист.. И второе и наиболее важное - нужентакой-же ранвомерный и однонаправленный свет Именно по этому используют сканет.
Эффект глубины получается за счет атенюации (рассеивания) света и соответственно спаду его интенсивности.
Т.е. - при сканировании в комнате должно быть Темно. чтобы постороний свет все не испортил.
Последок: В любом случае результат получается неважнецкий. А по времени и гемору.. хм.. нормальный не безрукий моделлер за это же время с легкостью набросает такую модель в 3д. к томуже качество Формы будет повыше.. а детализация.. 15 мин в браше (опять таки для более мене опытного)
P/s/ почему я так уверенно все это говорю - сам делал Точно такой же експеремент лет 5 назат. )) если не больше.
аватар
  vip
morro 1157 0
Администратор Арх. Галереи
2 монолит - ну во 1 дисплейс мона преобразовать в геометрию )) ( да не в 3д максе ) но можно )) не будем раскрывать в каком софте конкретно НО ))
2димсон 3д )) к сожалению не думаю что имея 1 картинку мона будет сделать всю модель ))
аватар
 
asg 19 0
Урок понравился! Только я слишком ленив, чтобы его повторять :)
аватар
 
Myxamore6e 5 0
dimson3d

если модел семитрича, то можно мирор применить.
если нет, то новерно здвух сторон както стыковать +)
...толка криво както выдит.... )

у меня чето не получилас зделать это как надо :(
аватар
 
Печуркин Павел 5 0
да урок не плохой... Я типичным способом добиваюсь хорошей лепнины... Но это далео не 3d сканер... и ксажалению Displace не преобразовать в модель...
аватар
  vip
dimson3d 851 0
Ньюсмейкер
Необычно, интерссно даже попробовать, потопаю за фотиком :)
А вот как полностью сделать модель на все 360 градусов?
аватар
 
Myxamore6e 5 0
Хорошый урок. мне понравелся :)
Зарегистрируйтесь, чтобы добавить комментарий.
Эту страницу просмотрели: * уникальных посетителей