Буду писать попунктно, это систематизирует: 1. Заранее продумываем будущего персонажа. На бумаге или в цифровом виде не так важно. Чем больше и глубже вы сечас продумаете персонажа (раса, пол, вооружение, одежда, детали и т.д.) тем меньше прийдется думать в ходе следующих пунктов. Я же себе эту возможность оставляю, кое-что буду думать на лету :)
2. В 3д максе создаем болванку под будущего персонажа. Обратить внимание следует на равномерную сетку модели. Так же, во избежание мелких артефактов, старайтесь моделить не используя треугольники. А при наличии н-угольников, некоторые программы вовсе признают модель не валидной.
3. Экспортировав полученную болванку в формат .obj, загрузим его в Zbrush увеличим полигонаж и наметим основные мышцы. Subdivide в Tools/Geometry Причем если объект симметричен, не забываем включить симметрию для ускорения работы (X).
4. Продолжим набор объемов и лепку форм. Методы и инструменты не буду описывать, их много и каждый подберет свои, удобные для него...
5. когда общие (парные) черты персонажа переданы, отключаем симметрию...
6. Теперь проработаем несимметричные особенности объекта...В данном случае я увеличил правую руку масками и кистью Move, исходя из задумки...
7. Наконец результат вас удовлетворяет - переходим к ретопологии, т.к. начальная сетка наверняка претерпела существенные изменения (где-то сжалась, где-то растянулась). Поэтому-то мы изначально и создавали ее равномерной, а не оптимизированной под скиннинг... В Tools выбираем Zsphere, рисуем ее на холсте и идем в свиток Tools/Rigging. Жмем Select Meshи выбираем нашего высокополигонального персонажа...
Далее Tools/Projection нажимаем кнопку Projection для проэкции деталей на будущую модель... Теперь можно нажать Edit Topology и приступить к созданию новой, более правильной, заточенной под анимацию, сетки...
8. Продолжаем потихоньку строить новую лоупольную сетку. При этом необходимо помнить бюджет разрешенного полигонажа и иметь представление какие части объекта будут подвижны, а какие искажаться не должны. На сутавах требуется более частая сетка...
9. Наша новая низкополигональная сетка готова, в режиме превью в Tools/Adaptive skin выставляем необходимое значение Density для переноса со старой модели на новую всех деталей... Так же, возможно, прийдется поиграть со значением Project Range в Tools/Projection, для этого необходимо отжать Edit Topology… Видите разницу в сетках? :)
10. Осталось дело за малым, создать только что сделанную лоуполи модель. Нажмем Make Adaptive Skin…
11. Теперь необходимо подготовить модель к снятию нормалей. Для этого спускаемся на первый Subdiv в Tools/Geometry и экспортим новую модельку в формат .obj для построения развертки… На этом месте существует проблема, надеюсь в будущем разработчики Pixologic ее решат... Дело в том, что Zbrush имеет свой взгляд на структуру .obj файла и многие программы, в которых есть инструментарий развертывания UV-координат, после экспорта перестраивают структуру иначе, чем Zbrush отдавал, что приводит к непредсказуемым результатам...
Многие, доходя до этого этапа и сталкиваясь с этим чудом, спотыкаются и ищут альтернативные пути детализации объектов. Например, чтобы не попасть в такую ситуацию, можно было делать более точную первоначальную болванку в стороннем 3д пакете и сразу же ее разворачивать еще до того, как экспортить в Zbrush. Но такой способ тоже не идеален для снятия нормалей, в связи со сглаживанием модели при повышении полиганажа. Я тоже долго экспериментировал с многими программами, пытаясь выяснить природу ошибки. Из перепробованных программ и вариантов экспорта-импорта, удалось найти только две программы для работы с UV-координатами, которые совсем не трогают внутреннюю структуру .obj-файла. Это Unfold3d и UVlayout. Первая гораздо проще, но небезгрешна. Ее проблема заключается в том, что она ставит куски развертки очень близко к границам текстурной области, а то и вовсе заползая за них на несколько пикселей. Это приводит к появлению нескольких UV групп в Zbrush. Правда, я использовал 4 версию программы, в данный момент уже вышла 6, в ней добавилась функции редактирования кусков развертки на поле. А вот UVlayout хоть и отличается своей аскетичностью интерфейса, имеет очень хорошие инструменты для автоматической развертки (с ручным контролем) и последующего редактирования кусков. Подробно я описывать программу не буду, в следующий раз :) 12. Строим развертку UV-координат. При разворачивании нада учитывать то, что на моделях будут видны швы склейки кусков текстур (особенно карта нормалей), поэтому старайтесь располагать швы там, где они не будут бросаться в глаза. Так же не забываем занимать как можно больше полезной площади кусками. От больших промежутков между ними толку нет:)
13. Возвращаемся в Zbrush к нашей модели на первом сабдиве и импортируем новый .obj-файл с правильной разверткой. Далее идем в Zmapper, открываем конфигурацию настроек и выбираем один из готовых пресетов. Помните, что пресеты для 3ds max инвертируют Y-канал(green), а также меняют местами X(red) и Y-каналы(green). Так что лучше взять для этого другой, общепринятый, к примеру Nvidia Tangent Space Best Quality.
14. Теперь из полученной карты нормалей с помощью стороннего 3д пакета с функцией Render To Texture и источника дневного освещения можно создать карту ambient occlusion.
Она будет служить нам основой для рисования следующих карт (diffuse, specular, glossness, и т.д.)
15. После текстурирования необходимо так же заскинить персонажа (вставить и настроить скелет в сделанную нами оболочку для него). Это позволит поставить персонажа в позу и произвести необходимые для игры анимации.
Вот игровой next-gen персонаж и готов для встречи с вами по ту сторону реальности :) Надеюсь вы подчерпнули что-то новое для себя и если возникли вопросы, пишите, постараюсь ответить. Автор---Simon...
|