Wednesday, February 17, 2016

Фан - Арт на персонажа Юси из Куми-Куми






















После мрачных монстров и работы над дизайном уровней мне захотелось наконец развеяться. И сделать уже приятную вещь позитивное. Какого нибудь персонажа который бы вызывал у меня симпатию. Придумывать нового персонажа сегодня мне не охото, да и цель у меня другая. Для тренировок в zbrush я иногда буду делать персонажей, которые уже созданные. Я выбрал свой любимых мультсериал Куми-куми студии toonbox. Нашел десяток концептов персонажа - девочк Юси, из племени Юми-Куми.




1. Я начал с того, что поставил картинку - концепт на квадратный плэйн. Он будет главным ресурсом для позы, жеста и образа. 

2. После того как я убедился что концепт не деформирован по сравнению с оригиналом я добавляю в файл при помощи кнопки apend новый объект - zsphere. При помощи этого смешного инструмента, который напоминает мне чем то гусеницу, я создаю базовую форму туловища. Когда форма готова я нажимаю на "a" чтобы увидеть какой мешь сгенирирует мне zbrush.


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


Он срезает выделенные участки. Глаза оказалась самая простая часть. Потратил на них не больше 15 минут.Руки и ноги делал тоже при помощи zsphere. Просто наращивал zsphere прямо поверх картинки - концепта а по другим осям уже двигал на глаз. Главное это не забывать после того как определишься с формой перевести все в polymesh иначе потом могут возникнуть глюки.



После того как форма готова, можно заняться покраской. Тут есть пара вещей которые обязательно нужно учесть перед началом.
1. Сделайте копию рабочего файла.
2. Проверить количество полигонов на каждом subtool'е, чтобы не было слишком много.
3. Если больше 100000 , то советую сразу применить dinamesh, иначе при создании развертки ваш комп может зависнуть.
4. Слить все subtool'ы в один при помощи "merge down" эта кнопка находится под subtoolam'и.
5. ВАЖНО!!! Делаем любую автоматическую развертку, я предпочитаю "Guv tiles" он както быстрее всего делается.

Раскрасска

Так как я художник для меня этот этап самый интересный. Включаем режим polypaint и начинаем творить. В данной модели все просто и контрастно, поэтому мы просто выбираем цвет зажав кнопку "С" либо просто из палитры. Еще одна полезная подсказка для тех кто будет рисовать поверх модели. Есть инструмент под названием lazy mouse. Его можно настроить через верхнее меню "stroke" главное увеличить радиус и вы сами все поймете как оно работает. КартинкаТеперь выбираем плоский "shading" чтобы тени не мешали нам рисовать и рисуем кистью прямо по модели. Можно также использовать маску. Я использовал маску для создания треугольничков. Так можно сильно сэкономить время.Картинка.
Теперь когда мы все раскрасили можно перегнать все в текстуру. Polypaint это простейшая система покраски каждого полигона в определенный цвет. Соответственно сейчас наша модель просто раскрашенна поверх полигонов. Наша задача все это дело както перенести на текстуру, так как polypaint кроме zbrush'к не одна прога не воспримет. Поэтому так важно было сделать хоть какой то uv до рисования. Теперь мы создаем текстуру из polypaint'а нажатием одной кнопки "create texture" выбираем самый большой размер, чтобы сохранить качество, снизу выбираем "from polypaint"
.
  Low poly model.

Теперь когда высокополигональная модель и текстура готова, можно отложить её на полку, предварительно сделав копию. Из копии мы будем делать Low Poly. Я использовал Zremesher для этого. В закладке Geometry просто нажав на Zremesher он сгенерировал довольно таки хорошую сетку.






































Uv mapping для lowpoly

Я сразу решил для себя что модельмоя будет не игровая, поэтому запариваться на UV я не буду. Я сделал анврап через инструмент UV Master. Находится он в закладке Zplugin

Оказалось это совсем просто. Для удобности можно даже разделить модель на полигруппы. И он тогда разрежет модель на группы, при раскладке. Больше всего порадовало то как экономна он все разложил на квадрат :)


















Прожиг в 3ds max

Проблемы поджидали как обычно там где их не ждали :) открылись модели вообще без проблем, соответствие шейпов тоже идеальное. Но вот когда я прожег нормали я дико обломался с того что сетка от хай поли местами была растянута и нормали не очень красиво смотрелись. Как я только не пытался её перепрожигать смотрелась она местами глючно. Я попробовал вырубить нормали. С удивлением обнаружил что смотрятся модель без нормалей превосходно. И я решил просто отказаться от нее. Теперь наконец можно все залить на sketchfab.


    Yusi
    by fatsnail
    on Sketchfab



Надеюсь эта статья была для вас полезна. Еще раз хочу напомнить что использовал персонажа из мультфильма Qumi-Qumi. Персонажа зовут Yusi.

Если есть какие то вопросы или замечания смело пишите их в коменты.

Спасибо за внимание

Monday, February 8, 2016

Сложности с бумагой в 3d объектах.




Снова я вернулся к разработке игры про "Фишердога" . В просторах нашей студии имеется огромное количество разного типа бумаги, сминаю очередной скетч в комок и выбрасывая его в мусорку. Я окружен бумагой со всех сторон. Эта удивительная материя созданная капиталистической машиной, хранит в себе столько информации, что иногда взрывается мозг от желания подумать об этом. Один листок бумаги, а точнее какая то его часть, имеет частицы дерева которое когда-то росло, скорее всего на другой части планеты. Другая часть имеет забытые всеми строки из какой нибудь древней газеты, а может и из книги, а третья часть, например была каким нибудь наброском знаменитого художника. А теперь это чистый девственный листок, который может стать началом какого нибудь огромного проекта или посмертной запиской.

Вот именно такие мысли приводят меня к стремлению использовать бумагу как ключевой матерьял для игры "Fisherdog"
Я выбрал этот способ не случайно. Мятая бумага вызывает у меня какие то приятные чувства из детства. Чувства спокойствия и уюта. Некоего реалистичного мира в котором живут маленькие кукольные герои.

А теперь немного расскажу о своем исследовании бумаги как материала для 3d модели. Задача стоит не просто использовать бумагу для 3d объектов, а попытаться передать правильными вмятинами реалистичные материалы. Например как будет выглядеть камень из бумаги в 3d? Как будет выглядеть дом из бумаги? Как сделать чтобы это все было цветное и цвет не отбирал свойства передачи цвета бумаги и асе это должно быть спроецировано на 3d меш.


Начало и первые пробы.


В начале я попытался использовать программу для сканирования реальных объектов в 3d. Эта прога называется 1,2,3 catch. Результаты в ней получаются интересные, но в ней много минусов. Самое ужасное что фотки обрабатываются у них на сервере и ждать вам придется часа 2 не меньше. Один раз пришлось ждать до самого утра. После получения 3д объекта можно очень неприятно удивится тому что модель не получилась. В Общем этот сервис я отложил в первую очередь. Хотя результат был интересен







2d спрайты в 3d пространстве


После неудачных экспериментов с 3d я решил попробовать создать уровень из 2д плоскостей с текстурами и динамическим освещением. Я сделал одну гиганскую текстуру для земли которая должна была быть 4096 пикселей.






Все шло нормально. Я много времени провел над созданием текстуры и деталей, пока мы не попробовали засунуть персонажа. При первом Геймплее сразу стало ясно что уровень слишком маленький и мы решили попробовать его собрать из нарезок этого уровня, для того чтобы увеличить. Оказалось не так то просто нарезать 2д мешь и делать из него новые объекты.


Хоть свет и тень работали довольно правильно я все равно решил перейти на 3d и уже не
экспериментировать а делать все по понятной схеме.





Исследования технологии

Впервую очередь я решил наконец помять бумагу именно так как нравится мне, и как будет более похожее на текстуру скалы. Я использовал тонкую деревяшку для изгибов. В целом процесс затягивающий и приятный.
После этого я взял фотку, и назначил ее текстурой в 3ds max. Благодаря ровным помятостям было довольно не сложно нарезать все это дело и погнуть в соответствии с тенями и светом.



Далее сделал normal map при помощи очень мощной програмульки bitmap2material. Она кстате позволяет не только нормали отснять, но и сгенерировать остальные карты для PBR.





И все равно результат меня совершенно не удовлетворял. Мне не хватало объема и сама модель выглядела слишком острой и лоупольной. А я хотел next gen, чтобы все выглядело как в современных крутых играх. Хотел чтобы бумага прямо чувствовалась как живая, чтобы ее хотелось помять и потрогать. Тогда я загрузил меш бумаги в zbrush, после чего я добавил субдивы предварительно отключив кнопочку smt 


Я потанцевал с бубном немного и наконец сделал вот твкую бумажну текстуру из того что было



Monday, February 1, 2016

Sketchfab.com и о его возможностях загружать NextGEN 3d модели



Сегодня речь пойдет о прекрасном ресурсе Sketchfab.com и о его возможностях загружать 3d модели. В начале этого года мне что-то стало грустно от того что за много лет работы с Cg ничего особо стоящего в 3d так и не сделал. Точнее сделал много но все только для работы ,да и вообще сделать 3d модель это одно а показать её красиво это отдельная история, sketchfab к счастью решил эту проблему . Ресурс sketchfab.com место где можно выкладывать свои 3d работы и общаться с коллегами со всего мира. Первое что я сделал, загнал туда 3d модель собачки с мышкой из проекта Fisherdog. 3d Модель была уже давно а текстурки я сделал в substance painter и загрузил на сайт sketchfab.








Как загрузить 3d работу на sketchfab и вообще с чего начать

Concept

Я возьму для примера своего Орка так как он еще в процессе. Начал я с того что листал страница за страницей Pintrest в поисках хоть чего нибудь ценного. Моя задача была найти простую и в то же время интересную модель. Я нашел референс и быстренько набросал концептик. В целом потратил не больше 15 минут. Тут мнения разделяются, кто-то привык разрабатывать концепты неделями, а я буду придумываю концепты по ходу дела.

то что я нашел


То что я нарисовал

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

Модель в zbrush

После этого я поставил концепты в zbrush сбоку и спереди. Взял обычную модель человека и начал ее уменьшать и подгонять под мой концепт.


тут мне очень помогла функция dinamesh в новом zbrushe все работает как реальная 3d глина :) слепляется и разлепляется. Модели zbrush на первый взгляд всегда кажутся красивыми, но проходит один день ты смотришь на свою модель и думаешь, как такое гавно получилось :) главное это не боятся все переделывать. Например руку этого персонажа я пытался вылепить из уже испорченного меша, и делал это дольше чем, переделал 4 раза с нуля перед тем как модель обрела нынешний вид.



Low poly

Про скульптинг модели в zbrush я особо не буду тут расказывать. Так как это нада показывать на видео. Я расскажу немного о том как я схитрил чтобы получить мид поли модель в zbrush практически не приложив к этому усилия. Инструмент Zremesher это автоматическая оптимизация полигонов, но с хитрыми ручными настройками лупов. Были споры с коллегами что Topogun типо круче, но к сожалению для меня zremesher подошел больше. В zbrush есть инструмент zremesh-guide. При помощи него вы отмечаете места где будут проходить лупы. А также не забудьте показать все те места которые дают важные детали форме.



Вобщем zhrush превзошел сам себя, модель мид поли вышла очень ровная и равномерная, такая как я хотел, его ремень и повязку мне не удалось сделать при помощи zremesher и я использовал в итоге обычный ретопо в zbrush. После чего наконец модель готова



Unwrap и подготовка модели к запеканию нормалей.

Сперва я пытался уместить всю модель на один Unwrap, но попробовав запечь всю модель увидел не самое лучшее качество. Многие детали терялись и замыливались. Пришлось отделить ремень и выделить для него отдельную текстуру. Картинка двух Uv. В основном я использую Pelt для достижения лучшего результата.



Запекание текстур и все что с этим связано

И снова Zbrush С его Zremesher просто удивили меня. Высокополигональная модель была идентична с низкополигональной и мне практически не пришлось ничего править. Я просто прожег все как есть



Substance painter



Эта программа создана для того чтобы текстурировать модель при помощи PBR текстур. Что такое PBR до меня долго не доходило. PBR - Physically-based rendering. Что означает физически правильный рендеринг или шэйдинг. Я понимаю это так, что в новейших движках таких как unity, unreal и тд есть некие библиотеки, которые настроены на основе принятия и отражения лучей света с правильными значениями (такими же как в реальном мире). Для того чтобы PBR правильно работало ей необходимо иметь карту значений. Именно этой картой значений и являются текстуры. И текстуры эти не простые а сгенерированные программой substance painter. Можно конечно и вручную все это пытаться нарисовать постоянно сверяясь с кучей таблиц. Мы же применим современные технологие и позволим компьютеру это сделать за нас.


В Substance paintere система работы очень напоминает работу с фотошопом. Те же слои, те же блэндинги, но при этом еще есть и настройки матерьялов и генераторы старения и тд.



Для удобного разделения на материалов советую подготовить ID карту на которой необходимо разделить все материалы разными цветами. Я обычно использую для этого фотошоп и заливки. Картинка
После того как ID готова мы импортируем ее в substance painter и накидываем в специальный слот сверху слева для для ID. Теперь мы можем использовать ее для установки масок на разных матерьялах.


Когда текстурирование законченно мы делаем экспорт. В этой версии substance painter есть установки экспорта для sketchfab. Самое интересное теперь это все настроить также как было в substance painter. Я предпочитаю поэкспериментировать и поиграть с освещением

Вот результат:


    by fatsnail
    on Sketchfab


Далее попробую немного рассказать о том как я изучал Rigging и что из этого вышло.