3ds max создание глаз персонажа

Обновлено: 06.07.2024

Я написал очень простой урок как моделировать и применять текстуры для получения реалистичных глаз "окна души Вашего персонажа". В большинстве случаев плохие глаза могут буквально убить Вашего персонажа, даже если это самая прекрасная модель в мире. Глаза буквально оживляют персонаж. Так что не недооценивайте этот важный шаг в конструировании персонажа, иначе Вы создадите "куклу".

Есть большой изгиб в роговице, в области радужки. Эта неправильность, присущая всем нам может стать большой проблемой для персонажа. Когда глаз поворачивается, эта область к несчастью может проникать через грани века, вызывая странные результаты. По этой причине я уменьшил этот изгиб, чтобы избежать проблем в будущем.

Создайте сферу с несколькими сегментами (в нашем случае 8):

Если вам так нравится, удалите половину и используйте NURMS/Symmetry (MAX) или CPS Script (MAYA):


Тут мы видим приблизительные пропорции радужки в отношении у глазу. Она занимает немного больше чем 2/4 высоты, но не 1/3. Создайте 2 новых цикла (loops) соответственно отмеченным на рисунке красным, прямо где будет граница радужки:


Это вид в перспективе, после небольшого "смягчения" полигонов:


Немного вытягиваем модель, пока не станет похожа на приведенную здесь:


Мы трансформируем крайние треугольники.


. в четырехугольники, разрезав сетку таким образом:


SubD проволочная версия.


. shade режим. выпуклость минимальна, в отличие от реального глаза:


Мы получили начальные пропорции после завершения первой части, роговица:


Удвоим модель и трансформируем ее во вторую: радужка, зрачок и белок глаза. Для этого Вы сделаете почти совсем плоским выпуклость из первой части. Выделите кольцо красных ребер.


. соедините и создайте новый цикл ребер как здесь:


Перетащите вершины (или экструдируйте грани) этой области, сформируйте дыру, которая является зрачком:


Это вид перспективы (радужка ПОЧТИ плоская, но эта область немного заглублена):


Здесь два куска на виде сбоку, проволочный вид/SubD:


А здесь вид в перспективе:


Чтобы сделать затененную роговицу, используйте configurations posted left (MAYA) или настройте этот результат используя MAX. Ключ: для зеркального отражения (specular), выбирайте белый цвет, однако силой используйте в 2 раза белее (настройте V в HSV на 2, например). Используйте низкое значение отражения (0.037 в MAYA) и значение 1.2 для трассировки/преломления:


Для второго куска, смоделированного позже, используйте текстуру из моего другого урока и очень низкий уровень отражения и очень "открытое" подкрашивание (почти непрозрачный). Используйте планарную/фронтальную карту для этой текстуры:


Если Вы хотите включить некоторый объем в венах, скройте все слои радужки, измените режим изображения в grayscale и используйте это изображение как bump карту:


Вы также можете добавить карту самосвечения или накаливания (incandescence) в радужку, используя карту подобную этой (очень низкое значение):


Здесь финальная версия:


Финальный трюк:
a) используйте площадные светильники для симуляции отражения окна;
b) для роговицы выключите отбрасывание теней. Это сохранит время визуализации.

Перевод Беляев Валерий ака seaman

Комментарии (Всего: 4)

Нафига делать дыру для зрачка?! Можно же просто чуть-чуть бампом вдавить! на этом сайте есть урок, и называется он "Рисуем реалистичные текстуры глаза" by Krishnamurti Martins Costa Что бы оставить комментарий вам необходимо войти или зарегистрироваться!

Советуем почитать


Создание взрыва в Maya

Подробное описание того, как создать взрыв и вмонтировать в фотографию.

2 0 34 804 Автор: diablo_ 10 мая 2006 в 00:00


Использование Shelf и переименование объектов

2 0 17 020 Автор: diablo_ 29 марта 2006 в 00:00


Создание Сверла

Сегодня в работе кружок умелые руки!Делаем недостающее сверло для дрели. А делается это так:

1 0 17 936 Автор: diablo_ 10 апреля 2006 в 00:00


Making of «Граммофон»

Всем привет! Сегодня я хотел бы рассказать вам, как я создавал картину «Граммофон». Основной целью для меня было показать всю красоту такого старого и изысканного объекта, как граммофон. Для пущей драматичности, я задумал показать его в ужасном состоянии, с отслоившимся лаком, потускневшим металлом и забытым в одиночестве на темном чердаке.

2 2 18 966 Автор: DaniilAlikov 20 ноября 2010 в 00:00

Фотография (слева) и рендеринг 3D модели лица (справа)

Фотография (слева) и рендеринг 3D модели лица (справа)

Поговорим об одном интересном методе восстановления 3D лица человека, которое почти не отличить от фотографий.

На Хабре уже 2 года не появлялись статьи про лицевую 3D реконструкцию, и в Twin3D мы хотим постепенно заполнять этот пробел и регулярно выкладывать обзоры интересных статей, методов и наших собственных результатов на тему 3D digital human в целом.

Сначала пара слов о том, кому и зачем эти 3D лица и тела нужны (вообще об этом можно отдельную статью написать). Изначально 3D сканирование человека использовалось в кино для спецэффектов, где с лицом героя должно произойти что-то мало желаемое в реальности (например, взрыв) или невозможное. С увеличением требований к графике в компьютерных играх появилась потребность создавать всё более реалистичных персонажей — и гораздо проще отсканировать живого человека, чем лепить/рисовать с нуля по фотографиям. Теперь же к этому прибавляется желание людей оказаться в виртуальном мире или самим быть персонажами игр — и для этого, естественно, тоже нужны 3D модели.

Стоит отметить, что предыдущие статьи на Хабре фокусировались на методах легкого создания 3D моделей лиц. Как обычно, тут есть trade-off между качеством и простотой получения 3D модели. В нашем цикле статей мы расскажем про 3 метода в порядке убывания сложности процесса сканирования: от специального сетапа с 24 камерами и 6 вспышками (об этом методе поговорим сейчас) до фотографии со смартфона.

Исторически реконструкция лица начиналась со стандартных методов multi-view stereo (об этом можно почитать в википедии, а также есть классная брошюра от Google), и понятно, что для таких методов требуется большое число фотографий с разных ракурсов. Эти методы основаны на математической оптимизации.

Терминология

Результатом базовой 3D реконструкции лица является следующее сочетание: геометрия + текстура альбедо + отражаемость и нормали (картинки будут ниже).

Геометрия — это просто меш, т.е. упорядоченный набор связанных между собой точек в 3D.

Текстура альбедо — это по сути набор пикселей, которые покрывают этот меш, настоящий цвет кожи.

Отражаемость и карта нормалей — информация про каждый пиксель о том, как он отражает падающий свет (как сильно и в каком направлении).

Только при наличии всех эти трех компонент можно получить качественную фотореалистичную 3D модель лица.

Пара слов о методе

Метод реконструкции лица, о котором мы сейчас поговорим, описан в статье "Near-Instant Capture of High-Resolution Facial Geometry and Reflection", которая написана G. Fyffe, P. Graham, B. Tunwattanapong, A. Ghosh, P. Debevec и представлена на Eurographics 2016. Ее можно почитать здесь (дальше все картинки взяты оттуда). Эта работа примечательна тем, что авторам впервые удалось получить качество восстановления с точностью до пор кожи при почти мгновенном сканировании (66 мс). На заставке вы увидели результаты именно этой статьи. Статье уже 5 лет, но она стала своего рода классикой, да и авторы у нее широко известны в узких кругах (тот же Дебевек из Google). Статья написана довольно специфичным языком и с опусканием многих неочевидных деталей, так что пришлось немного поломать голову, чтобы ее понять и написать этот текст.

Как это работает

Для начала, авторы собрали весьма интересный риг из камер и вспышек. В нем 24 DSLR камеры Canon EOS 600D и 6 профессиональных вспышек Sigma EM-140. Вспышки эти включаются последовательно, а вместе с ними одновременно фотографируют какое-то подмножество камер, так что в итоге каждая камера фотографирует ровно один раз. Камеры установлены и разбиты на группы так, чтобы оптимально покрыть всю область лица и для каждой точки увидеть хотя бы 3 разных отражения (дальше увидим, зачем). Реализована съемка с помощью микроконтроллера 80MHz Microchip PIC32. Авторы отдельно продумали, что весь этот процесс должен занимать меньше скорости моргания человека (

100 мс), так что от первой до последней фотографии проходит 66 мс, согласно статье.

Риг для съемки лица

Риг для съемки лица

Алгоритм на вход получает 24 фотографии и информацию про вспышки, на основе этого создает базовый меш, а далее — с помощью небольшой магии и математики делает по две карты альбедо и нормалей (диффузную и спекулярную), на основе чего получается детализированный меш с точностью до пор и морщинок.

Пайплайн алгоритма

Пайплайн алгоритма

Исходный меш получается через обычный multiview stereo (например, Metashape). Но его качество довольно низкое (+- 2 мм), так что на основе карты нормалей этот меш в конце уточняется.

Поэтапное улучшение исходного меша

Поэтапное улучшение исходного меша

В основе алгоритма лежит photometric stereo — набор методов компьютерного зрения, при котором используются не только сами фотографии, но и информация о падающем свете: интенсивность и направление света. Этот подход позволяет понять, как конкретный пиксель текстуры отражает свет в разных условиях, что для кожи человека особенно важно. Как я упомянул выше, алгоритм выдает две карты нормалей. Первая — диффузная — соответствует матовому отражению лица, то есть отражениям от глубинных слоев кожи. Вторая — спекулярная — нужна для рендеринга мельчайших деталей поверхности кожи.

Диффузная и спекулярная карты нормалей

Диффузная и спекулярная карты нормалей

А получаются эти нормали для каждого пикселя по сути через решение систем линейных уравнений

где L — матрица направлений света для всех видов камер, \beta — искомая нормаль (3-мерный вектор), P — условные значения пикселей для этих точек и видов камер. После пристального взгляда на эту систему становится понятным, зачем нужно видеть точку хотя бы с трех ракурсов — в противном случае систему однозначно не решить. Если хочется иметь карту разрешения 4096x4096, то соответственно нужно решить 16 млн таких систем, так что эффективное использование GPU здесь must have. Параллелизация таких вычислений — отдельная нетривиальная задача.

Эти уравнения решаются в рамках ламбертового приближения для диффузных нормалей, потому что как раз это нужно для описания матового отражения кожи от ее глубинных слоев. Для спекулярных нормалей решаются более сложные уравнения в приближении Blinn-Phong, чтобы учесть возможность зеркальных отражений кожи, но суть остается той же.

Результаты

При наличии уточненного меша, альбедо, освещаемости и карт нормали можно зарендерить 3D модель лица под произвольным ракурсом и освещением.

Для начала сравним кусок щеки фотографии и рендеринга под тем же ракурсом и освещением. Как видим на картинке ниже, результаты очень точные вплоть до мельчайших пор и отражений света.

Сравнение фотографии (слева) и рендеринга 3D модели под тем же углом и освещением (справа)

Сравнение фотографии (слева) и рендеринга 3D модели под тем же углом и освещением (справа)

Если же мы посмотрим на рендеринг под новым ракурсом и освещением, то тут тоже всё весьма прилично.

Уточненный меш и рендеринг под новым ракурсом и освещением

Уточненный меш и рендеринг под новым ракурсом и освещением

Итоги

При всей крутости результата и метода, конечно, в результате не получается супер-идеальный аватар человека. Тут никак не обрабатываются несколько ключевых элементов:

Волосы — на всех результатах люди просто в шапочках, ни у кого нет щетины

Отдельные артефакты — уши, ноздри носа и другие слабо видимые места никаким специальным образом не процессятся

Глаза — они, конечно, не подойдут для игр или кино

В Twin3D мы тоже работаем над алгоритмами фотореалистичной реконструкции лица и тела человека; собрали свой риг, в котором можем отсканировать лицо и по классической фотограмметрии, и по фотометрик стерео . Мы верим, что такими подходами можно и нужно вдохновляться, но в конечном итоге для получения фотореалистичных цифровых людей без артефактов нужен элемент обучения на данных, ибо классический подход не понимает, что ноздри и глаза нужно как-то иначе обрабатывать, чем кожу. О подходах с элементами обучения мы расскажем в будущих статьях.

Читайте также: