RU    EN
Статьи и туториалы   |  Скачать  |  Ссылки

ТРЕБОВАНИЯ К СОЗДАНИЮ И ПРОВЕРКЕ ИГРОВЫХ МОДЕЛЕЙ.

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

ОБЩИЕ РЕКОМЕНДАЦИИ ПО РАБОТЕ НАД ИГРОВЫМИ МОДЕЛЯМИ

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

  • Если клиент предложил свой способ создания объектов не отступайте от «рецепта» ни на шаг, по крайней мере при создании первых моделей. Не исключено, что впоследствии Вы придумаете более оптимальный способ получения того же результата, однако самодеятельность  при работе над первыми моделями зачастую приводит к значительным объемам исправлений и лишней работы

  • При работе над моделями и текстурами помните о том , что вряд-ли получится сдать работу с первого раза, что Вам или кому либо другому может понадобиться доработать модель или текстуру, что заказчик может захотеть изменить что либо или подогнать под изменившиеся требования, итд. Я это к тому, что и модель, и текстура должны быть максимально удобными для любого рода переделок.  В плане моделирования это значит правильная геометрия с четкими координатами всех вертексов, с минимальным количеством разрывов на ув, и только в невидимых местах, отсутствие потяжек на ув, одинаковый (в большинстве случаев) масштаб деталей на ув;  в текстурах – правильно структурированный псд файл.

  • После окончания работы проверьте модель дважды. Проверяйте прежде всего на соответствие техническим требованиям заказчика, отсутствие типичных ошибок (несваренные вертексы, неправильные юниты, названия объектов, пивоты, итд), на то, выглядит ли модель с текстурой хорошо (а не как нибудь). Если заказчик предоставил примеры желаемого качества – посмотрите, можно ли поставить Вашу модель рядом и скзаать что все они из  одной оперы, поскольку даже если очень хорошая работа выбивается по стилю ее скорее всего не приймут. 

  • Учитесь на ошибках. Делайте выводы из комментариев заказчика и не повторяйте аналогичные ошибки при работе над следующими моделями.

РЕКОМЕНДАЦИИ ПО МОДЕЛИРОВАНИЮ

  • Внимание! Заказчик не всегда предоставляет достаточно хорошие референсы. Для того чтобы Ваша модель не выглядела убого из за того что Вы не смогли сделать ее достаточно детализированной из за плохих референсов – потратьте время на поиск дополнительных референсов. Ищите чертежи более высокого разрешения, более детализированные картинки или фотографии, описания функциональности объекта, итд. Усли у Вас не получается – попросите об этом заказчика.

  • Поликаунт и детализация: разумно распределяйте бюджет по поликаунту. Выделяйте больше полигонов на крупные детали, меньше – на мелкие и незаметные. Не модельте те мелкие детали, которые гораздо лучше будут смотреться на текстуре с картой нормалей, допустим, мелкие болтики ипрочее, к-е будучи промоделенными будут выглядеть угловато. Если Вы видите что поликаунт настолько низкий что не получается промоделить даже крупные детали – лучше его превысить, всегда можно потом оптимизировать.  На цилиндрические детали используйте по 5-6 сечений на узкие детали, 8 на средние, больше 8 – на крупные. Если на модели должны быть ЛОДы используйте количество сечений которое можно уменьшить в 2 раза хотя бы дважды, т.е. 8, 12, 16, 20, итд.

  • Сглаживание: всегда нужно настраивать сглаживание на моделях. В большинстве случаев сглаживание можно настроить автоматически и подправить места где получилось что то неправильно. ВСЕГДА!!! внимательно проверяте и исправляйте модель после автосглаживания, поскольку где то может сгладиться то что не должно, и наоборот – остаться несглаженным то что должно быть круглым. Не должно быть лишнего сглаживания(если возможно обойтись 3-мя группами сглаживания то не надо использовать 5 и более групп сглаживания)

  • Файл: Проверьте чтобы в файле не было лишних объектов

  • Юниты: следите чтобы юниты в сцене соответствовали требованиям из ТЗ. Если таковые требования отсутствуют – используем метры и моделим объекты в натуральном масштабе, т.е. человек – 1.8 метра, итд.

  • Масштаб объектов: если не дан чертеж с размерами – ориентируемся на стандартные объекты окружающего мира. Следим чтобы они были пропорциональны.

  • Пропорции: в процессе моделирования и после окончания сверяйте пропорции отдельных частей модели с референсом. Бывает что детали промоделены правильно, но имеют неправильные пропорции по отношению к целому объекту.

  • Пивоты: если в документации отсутствуют требования по пивотам выставляем их в центр по X и Y и в ноль по Z для зданий и персонажей (3dMax):

  • pivots

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

  • Расположение объекта: если не указано другое, объект должен находиться в центре координат. Если подразумевается симметрия он должен быть абсолютно симметричен относительно оси симметрии.  Если нет причин делать иначе, ув для симметричных частей должно полностью совпадать. 

  • Геометрия: Следите чтобы были сварены все вертексы, не было сдвоенных эджей или полигонов

  • Именование:  Названия должны быть такими как сказано в документации. Если в документации не указано как называть объекты – придумывайте вменяемые названия и придерживайтесь логичности в именовании объектов. НЕ называйте объекты building, house, итд, т.к. с такими названиями нетрудно получить кучу дубликатов.  Можно брать названия из референсов, допустим, вам дали задание смоделить танк King Tiger. В таком случае назовите основной объект kingtiger. Подобъекты, такие как колеса, пушки, итд. Называйте kingtiger_wheel, kingtiger_turret, итд. Для того чтобы обозначить левые/правые детали можно использовать приставки “_l” (от англ. Left) и “_r” (от англ. Right).

  • objects naming

  • Иерархия: Если в задании нет указаний по этому поводу составляйте иерархию исходя из наиболее вероятной анимации частей объекта. К примеру, в задании указано что танк должен быть разбит на корпус, колеса, башню и пушку. В таком случае колеса и башня будут привязаны к корпусу, пушка – к башне.  Если кто не знаком с иерархией – почитайте соответствующие разделы в справке к пакетам моделирования.

  • Топология: следите за правильной топологией на объектах сложной формы – чтобы форма была передана правильно, не было косяков со сглаживанием;  на персонажах – на лице и в районе суставов.

  • Формат: Сдавайте модели именно в том формате, который указан в задании, т.е. если сказано в .mb в Maya7 – значит вы должны сдать файл .mb который будет открываться в Maya7.

  • Материалы (шейдеры) – если не указано другое, называем так же, как и объект, к примеру, kingtiger. Если на объекте несколько текстур, делаем multi-subobject материал, а не кучу разных материалов.  Прибиваем лишние материалы, которые остались после экспорта или еще чего то.

  • При моделировании объектов, которые будут использовать нормал мапы учитывайте следующее:

    1. Карты нормалей позволяют делать бевелы на эджах. Все же на крупных прямоугольных деталях если есть такая необходимость или позволяет поликаунт их лучше промоделивать. Примечание: для того чтобы бевел сделанный с помощью нормал мапы был без глюков нужно чтобы ув на стыке двух полигонов было разорвано и части на ув немного отодвинуты друг от друга, иначе на грани появиться тоненькая но видимая полосочка. Это связано с тем что для смежных полигонов цвета на карте нормали для одного и того же эджа разные, и так как ув в любом случае или не может попасть точно на границу между пикселями или же в силу мипмапинга цвета смешиваются или немного заходят на другой полигон – получается такой вот артефакт.
    2. Карты нормалей в сочетании с затемнениями на текстуре цвета отлично передают вдавленности
    3. Карты нормалей хорошо передают мелкие детали поверхности
    4. Карты нормалей хорошо передают узкие и глубокие швы между деталями, вид практически безупречен. В тоже время выпуклые детали они передают хуже
    5. Карты нормалей плохо передают крупные выступающие детали. По сути проблема состоит в том что если нарисовать крупную выступающую деталь на карте нормалей она будет хорошо выглядеть если смотреть на полигон спереди или под каким либо углом, но когда вы будете смотреть сбоку или почти сбоку вы будете видеть плоский полигон без всякого рельефа.
    6. Карты нормалей плохо сглаживают геометрию

В общем это сводиться к тому что нужно передавать основные выступающие детали, следить за тем чтобы крупные детали были достаточно сглаженными, не нужно делать мелкие детали или небольшие вдавленности

 

РЕКОМЕНДАЦИИ ПО УВ МАПИНГУ

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

При мапинге игровых моделей наиболее важным является оптимальное использование места на ув:

  • большая часть деталей должна быть разложена в одном масштабе. При этом нужно увеличивать мелкие детали, которые требуют детализированной текстуры (например, колеса на тележке), и уменьшать части которые либо плохо видны, либо имеют однородную поверхность (нижние и задние стенки объектов, тонкие провода, итд). Нежелательно увеличивать ув для отдельных частей больше чем в 2 раза – будет слишком заметна разница в разрешении, во-вторых, если что либо можно увеличить больше чем в 2 раза это обычно значит что ув плохо упаковано и на ув много свободного места.

  • помните про мипмапинг - оставляйте промежутки между частями ув не менее 4-х пикселей, желательно вообще – 6-8. Это легко проверить сделав скриншот ув нужного разрешения и просмотрев его в фотошопе.

  • мапьте рядом части близкие по цвету, а также те, которые принадлежат к одной и той же детали. Очень плохо когда верхушка маленького болтика, к примеру, находится в одном углу ув, а его стороны – в противоположном

  • если используется альфа-канал оставляйте по крайней мере 10 пикселей вокруг частей которые используют прозрачность, чтобы при мипмапинге не становились прозрачными смежные детали.

  • делайте разрывы на ув в наименее заметных местах

  • минимизируйте потяжки. Не допускайте потяжки в тех местах, где должны быть детали правильной формы (болтики, дырочки, итд) или текст

  • зеркальте ув где только можно и не будет слишком явно бросаться в глаза. Складывайте пополам все цилиндрические и симметричные детали.

  • складывайте на одно место детали, которые используют один и тот же материал, но не имеют никаких специфических деталей, к примеру, трубы, провода, итд.

  • избегайте скрытых «пустых мест» на ув. Они появляются когда какая либо деталь расположена поверх другой на меше, но моделер раскладывает их в разные места, см. ниже:

wasted uv space

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

  • при раскладке цилиндрических деталей учитывать то, какая текстура должна быть на этой части модели. Если там будут какие то концентрические круги или что то подобное, допустим, дырочки по периметру или какой то узор – ни в коем случае нельзя раскладывать такую часть планаром – в этом случае концентрические круги будут пикселизированными, что можно свести к минимуму но не убрать вовсе, а концентрические детали или узор будет очень сложно нарисовать, См. картинку – нижний вариант правильный

  • proper cylindrical mapping

  • не нужно пытаться любой ценой заполнить квадрат раскладывая одинаковые части на разные места. Если после оптимизации ув оно у вас хорошо укладывается в прямоугольник вместо квадрата – это тоже хорошо

  • в процессе раскладывания ув постоянно сверяйтесь с референсом чтобы видеть какие детали нужно будет рисовать на поверхности. Это нужно для того чтобы не раскладывать одинаковые поверхности без деталей на разное место, а также для того чтобы наоборот, не сложить на одно и тоже место поверхности с разными деталями

  • длинные детали, такие как провода, трубы и прочее можно и нужно тайлить

РЕКОМЕНДАЦИИ ПО ТЕКСТУРИРОВАНИЮ

  • уделяйте внимание стилю, следите чтобы ваша работа была похожа на примеры предоставленные клиентом

  • перед тем как текстурить модель просмотрите ув, чтобы не оказалось что нужно переделывать раскладку когда у вас готова половина текстуры. Если есть какие то замечания к модели или ув

  • если Вы считаете нужным изменить ув спросите можно ли это делать – в некоторых случаях это невозможно (клиент, допустим, дал в работу вариации текстур для модели, на которую уже сделаны какие то текстуры).

  • Еще раз! Заказчик не всегда предоставляет достаточно хорошие референсы. Для того чтобы Ваша модель не выглядела убого из за того что Вы не смогли сделать ее достаточно детализированной из за плохих референсов – потратьте время на поиск дополнительных референсов или, если у Вас не получается – попросите об этом заказчика.

  • продумайте как лучше и быстрее можно затекстурить данную модель: иногда лучше начать с карты нормалей, иногда с карты цвета, иногда –с рендера Ambient Occlusion.

  • структурируйте псд файл таким образом чтобы не только Вам, но и другому человеку было легко в нем разобраться: используйте папки для слоев, clipping masks и smart objects. Называйте основные слои так, чтобы было понятно что они содержат, при этом лучше пользоваться английским языком (не транслит!!!).

  • называйте текстуры правильно. Если название текстуры не указано в задании называйте текстуру так же, как и объект. В том случае если требуются текстуры цвета, нормала и спекулара (а в спецификации нет указаний по этом поводу) к имени текстуры добавляйте приставки: _clr (для цвета), _nm (для нормала), _spec (для спекулара).

  • сохраняйте файлы в тга в 24 бита если альфа канал не нужен, и в 32 если он есть и нужен.

  • следите за масштабом мелких деталей и фактуры поверхности. Если фактура поверхности слишком крупная – эта поверхность будет выглядеть ненатурально. То же касается и мелких деталей, таких как болтики, заклепки, швы, и тому подобное – если делать их слишком крупными модель будет выглядеть мультяшно.

  • грязный объект и грязная текстура – не одно и то же! Загрязняйте объекты с умом. Не надо думать что чем больше слоев с грязью вы набросали на текстуру тем круче – в большинстве случаев объект с такой текстурой выглядит ужасно.

  • следите чтобы текстура была четкой, но не слишком резкой: и замыленность, и чересчур сильный шарп – это одинаково плохо

  • используйте хорошие фотоматериалы для своих текстур. Рекомендую пользоваться текстурами с http://cgtextures.com/

  • Следите за тем, чтобы не использовать сильно пожатые джпеги – в таком случае ваша текстура будет выглядеть плохо, что бы вы ни делали. Пример пожатого джпега (обратите внимание на «квадратики» - на картинке хорошего качества такого нет):

  • proper cylindrical mapping

  • если на текстуре очень много деталей, а разрешение небольшое, и Вам трудно прорисовать детали – попробуйте делать текстуру в 2 раза больше и потом уменьшать ее в 2 раза. В процессе работы следите за тем, чтобы уменьшенная версия смотрелась хорошо.

  • само собой разумеющееся – не оставляйте на текстуре видимых стыков в месте разрыва ув, следите чтобы то что должно тайлиться – тайлилось хорошо.

  • совершенствуйте свои навыки. Изучайте форму, свет и тень, материал (фактуру поверхности), цвет, перспективу, занимайтесь рисованием, фотографией, скульптурой, изучайте освещение и анатомию, теорию цвета и основы дизайна. Смотрите портфолио других художников и компаний, замечайте что сделано хорошо и думайте как можно сделать подобное или лучше, ну и само собой – играйте в игры. Это очень важно для того чтобы понять как делать действительно хорошие текстуры. Темой данного документа является больше то, что нужно проверять, а не как сделать красиво, поэтому просто порекомендую 2 книги:

    - focal_press_3d_game_textures_photoshop.pdf – англоязычная книга по текстурированию
    - Оуэн Демерс. - Цифровое текстурирование и живопись.pdf – русскоязычная книга по текстурированию

    Кроме того в интернете вы можете найти множество ресурсов с туториалами, статьями и книгами по данной тематике. Было бы желание.