Уроки: Общие принципы

Низкополигональное моделирование и развертка объектов

Привет! Я Селезнев Сергей. В данный момент являюсь сотрудником воронежской компании ORION Games. Тема моего урока будет посвящена проблемам низкополигонального моделинга и развертки объектов, а так же ошибкам, которые допускаются при этом наиболее часто. Представленная ниже тема будет рассмотрена на примере построения низкополигональной модели техники. Метод построения исключает просчет нормал мапа и призван сделать акцент именно на оптимизации построения низкополигональных объектов.

Наиболее важным фактором при данной работе (влекущим при своем отсутствии далеко оптимальный результат) является баланс количества полигонов/качество модели. Опытному человеку гораздо проще определить в процессе работы какое количество полигонов потребует тот или иной участок объекта в отличие от новичка. Оптимальная работа значительно облегчит потуги вашего компа и сэкономит много ваших нервов при создании тяжелых сцен.

Итак, в качестве примера изготовим модель американского вертолета AH-1G Кобра (рис 1.)


AH-1G “Кобра”

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

Пример:

- автомобиль: если планируется езда главного героя (далее ГГ) непосредственно за рулем ТС то приборная панель руль и прочие атрибуты кабины затребуют значительных затрат. Если же в передвижении нет необходимости то можно упростить построение данных частей;

- кузов авто: cгоревший/разрушенный кузов автомобиля - допустим игра обладает неплохим физическим движком и просто грех не шарахнуть по остову из гранатомета, таким образом допускается переворот ТС, днище кузова имеет место быть. Если подобные вещи делать не планируется то на поддон можно не тратиться.

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

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

И так задание получено, для упрощения примем что ГГ может видеть модель под любым углом. Количество выделенных полигонов 5000.

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


Рис.1


Рис.2


Рис.2а


Рис.3

Первоначально изготовим корпус вертолета (рис 1.) смоделим половину фюзеляжа.

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

На рис.3 показано правильное изготовление хвостового оперения и сопла турбины с заглушкой.


Рис.4

На рис.4 приведены примеры, на мой взгляд, наиболее часто встречающихся ошибок моделинга, голубой цвет - ошибочное построение, серый - правильное. 4.1 - непосредственно заглушка турбины нашего вертолета; 4.2 - по умолчанию при создании цилиндра макс создает модель в mesh. Вскрыв торцевые грани, мы получим третье изображение, сконвертив в poly. Грани располагаются в ином порядке, что ведет к уменьшению количества полигонов; 4.3 - частая ошибка при создании подобных конструкций ;.4 - пример создания автомобильного колеса; 4.5 - оконные рамы; 4.6 - сточные, сливные трубы. Внимательно просмотрев геометрию, можно найти много подобных ситуаций.


Рис.5


Рис.6

На рис.5 представлено изготовление несущей части главного винта. Старайтесь избегать острых углов геометрии, даже если визуальная толщина объекта к тому призывает, это всегда плохо смотрится (рис.6). Главное крыло представлено на рис.7, синий вариант - неправильный. Рис.8 - кабина пилотов, в нашем случае ГГ непосредственно в кабине не предвидиться, следовательно, детализация особых затрат не требует. Вооружение (рис.9) в наличии имеет много объектов цилиндрической формы. Количество полигонов в сечении данной геометрии имеет особое значение, если обзор возможен с торца. Если же, например, вы подошли к трубе и смотрите на нее сбоку, то разница 10 или 18 sides будет мало различима. Рис.10 - посадочные лыжи в сборе, ситуация аналогичная основному крылу. Делаем стекло кабины, добавляем немного мелких деталей для оживления картины и получаем результат рис.11


Рис.7


Рис.8


Рис.9


Рис.10


Рис .11

Теперь о развертке

Наибольшую площадь очевидно занимает корпус. Недостаток - элемент имеет большую длину по отношению к высоте. Разбиваем объект на две части. Основные принципы расположения швов на модели:

- располагайте швы на острых гранях геометрии. Чем острее угол, тем меньше обзор, тем меньше вероятность, что игрок увидит обе плоскости одновременно;

- используйте границы цветов текстуры, шов не будет заметен на четких переходах окраски ( в нашем случае в область шва можно положить сварочные/клепаные швы металлических листов);

- располагайте швы в труднодоступных для обзора местах, местах куда взгляд падает во вторую очередь;

После назначения планарного мапинга присваиваем тестовый материал checker, смотрим соотношение масштаба и потяжки . Данная операция особо важна для частей одного объекта (фюзеляж, разбитый на двое ). Мапинг делается более крупным, если необходимо подчеркнуть какой-либо элемент (надпись, приборную панель, какие либо царапины и потеки). Все потяжки исправляем в ручную. На рис.12,13 представлена развертка корпуса вертолета и наглядный мапинг.


Рис.12


Рис.13


Рис.14

Всевозможные надписи, символы и обозначения:

Первый и самый простой вариант: все обозначения, выполненные непосредственно на текстуре, должны содержать только те символы, которые в процессе отражения объекта будут корректно отображаться - например, A,I,O,X цифры 8,0,1; второй способ - добавление сечений к объекту, вырезается некоторая область с уникальным мапингом, на которую кладется текстура с обозначением; и третий вариант - линкование к объекту простой плоскости с прозрачностью, но здесь может возникнуть часто встречающаяся проблема некорректной работы Z-буффера движка;

Далее оценим оставшуюся геометрию. Нам необходимо выделить базовые, преобладающие текстуры вертолета. Что мы имеем:

- темный, практически черный металл на лопастях главного и хвостового винта, также данный металл встречается на посадочных полозьях;

- блестящий металл, используется на крепежной конструкции обоих винтов, также из него изготовлены оба пулемета, ободы кассеты для ракет, сопло турбины;

- не затекстуренными остались крылья, основное и хвостовое;

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

- непосредственно торцы кассет;

- металл ракетного пакета, очевидно, что он в отличие от корпуса находится в идеальном состоянии, так как ракеты подолгу с собой не возят и уж, тем более, ничем по ним не стучат;

- текстура внутренностей кабины: непосредственно ткань кресел, приборные панели;

- каркас кабины, имеющий желтую окантовку;

- стекло кабины;

- пулеметная лента;

Вроде бы, все. Наша задача расположить на оставшемся месте Unwrap все выше перечисленное. Я не буду располагать все элементы на поле Unwrap дабы не загромождать его, покажу только наиболее габаритные, чтобы обозначить границы участков. Всегда лучше ориентируйтесь на самый большой объект, если будут объекты меньшего размера с той же текстурой, то они без труда встанут на отведенное им место поля, чего нельзя сказать в обратном случае. Очевидно, что стекло кабины больших затрат не требует, так как полупрозрачно, на каркас кабины достаточно будет изготовить небольшую полоску черного цвета, имеющую желтые канты по краям, и аккуратно расположить на ней полученную развертку. Такие симметричные объекты как крылья, ракетные кассеты, посадочные лыжи нет смысла разворачивать дважды, после развертки одной делали скопируйте ее на другую сторону. Здесь есть минус - такие объекты как ракеты, расположенные близко друг к другу при копировании будут очень бросаться в глаза из-за схожести текстуры, поэтому есть смысл произвольным образом повернуть из вокруг своей оси. Аналогичная ситуация возникает на рис.14, участки, выделенные зеленым цветом, при указанном направлении мапинга будут повторятся, их местоположение меняем вручную.

Итак, рис.15 - вот что мы получаем, повторю, развертка содержит только часть объектов, дабы рисунок был менее загроможденным. Общий вид модели представлен на рис.16, рис.17 аналогичная модель американского вертолета Ирокез. Таким образом раскладка объекта выполнена, количество затраченных полигонов 4946, задание можно считать выполненным. На этом все. Заранее спасибо!

Mail to: Al_sergio@mail.ru


Рис.15


Рис.16


Рис.17

61477 Автор:
Актуальность: 704
Качество: 650
Суммарный балл: 1354
Выбор Публики
Голосов: 109 оценки

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

2 | След.
аватар
 
ShInIGameR 5 0
Цитирую Kohan:
Обсалютно с тобою согласен. При лоу моделирование допустимы только четырёхугольные полики, иначе при использовании сглаживания будут появлятся не жилаемые затемнения или засветы.

Простите, а какое сглаживание, если модель лоу? Я знаю что при меш\туробсус модель стягивается, а вот в геймдеве по логике вещей как раз допустимы 3 вершины, т.к. там сглаживание - текстурное. Я могу быть конечно не прав.Другое дело тринаугуляция как потом проходит, но я вообще не знаю нужна она или нет, я так понял от движка игры зависит.
За статью спасибо большое! Очень интересна эта тема и очень полезно. Принцип понятен, но ограничения лоу поли на мой взляд в уроке очень высоки, подобные модели годны для уровня игр 2007 года. Сегодня на мой взгляд можно делать качественней, особенно напрягает если в играх заметны неровности на цилиндических поверхностях.) Достаточно посмотреть моды на облу и ГТА 4 - вполне качественные модельки, под 60к(авто в гта4) полигонов, вполне себе норм крутятся в играх. Но впринципе статья очень актуальна для мобилок. И всё таки хотелось-бы поподробнее! Особенно про текстуринг\нормалл. Как в играх glossy и тому подобные эффекты делаются. Какие карты как сделать для полноценной модели etc.
аватар
 
VitalyM 7 1
Спасибо за урок.

2 Maksим Делается это для того, чтобы увидеть где текстура будет растягиваться, масштаб частей мэппинга относительно друг друга.

Автор так и написал:
Цитирую:смотрим соотношение масштаба и потяжки
аватар
 
Maksим 4 0
Автору спасибо!

Если не затруднит, не могли бы подробнее описать:

>
>После назначения планарного мапинга присваиваем тестовый материал checker, смотрим соотношение масштаба и потяжки . >Данная операция особо важна для частей одного объекта (фюзеляж, разбитый на двое ). Мапинг делается более крупным, если >необходимо подчеркнуть какой-либо элемент (надпись, приборную панель, какие либо царапины и потеки). Все потяжки >исправляем в ручную.
>

Для чего это делается, я не совсем понял? (имеется ввиду назначение карт Checker) Что в этом случае необходимо увидеть, проконтролировать?

Спасибо!
аватар
 
Сергей Тарасов 1 0
Тёзка, от кодера-маньяка те лучшие пожелания. Все бы так модели делали...
аватар
 
SHAM_1 1 0
отличный спасибо
аватар
 
gibsonff 8 0
Интересный способ!
аватар
 
maxer 7 0
Всем начинающим рекомендую. Очень полезно.
аватар
 
scripterBB 11 0
Заслуженная победа.
аватар
 
crest 7 0
Очень полезные сведения.
аватар
 
Sergey Seleznev 106 0
Всем поддержавшим меня хочу выразить благодарность
Надеюсь что мой опыт многим принес пользу
Спасибо !!!
аватар
  vip
Skif 2787 0
Администратор 3D галереи
Поздравляю,коллега!!!!
так держать!
аватар
 
Den Koshkin 12 0
Держи пятерку, коллега!

Сразу видно человека с глубоким знанием вопроса!
аватар
 
Сергей Хатенков 197 0
>Ну может кто-то и восппротивится, но моделинг с использованием не только quad и tri - не совсем хороший тон, а особенно для человека, >который занимается этим профильно

да воспротивлюсь. я уже написал и еще раз напишу, если кто не понял- просто надо контролировать триангуляцию. А как это моделлер делает- на уровне невидимых или на уровне видимых эджей- не важно, он делает так, как ему удобно. я например делаю все на уровне видимых граней, модель состоит только из трианглов.
аватар
 
max_rudakov 152 0
Ну может кто-то и восппротивится, но моделинг с использованием не только quad и tri - не совсем хороший тон, а особенно для человека, который занимается этим профильно. Тем более будь моделька посложнее - сложновато бы выходило.
аватар
 
FASt 21 0
Селезнев Сергей, Не обращай внимание на нечестных оценщиков, а урок твой хорош, и помог мне например, я его и друзьям передам, вот видишь польза какая...:) 5 баллов
аватар
 
Sergey Seleznev 106 0
azazello
целиком и полностью согласен, все зависит от особенностей работы конкретного движка
пиксельное освещение объекта требует корректива при построении
аватар
 
Сергей Хатенков 197 0
просто надо контролировать триангуляцию и все
аватар
 
Kohan 26 0
To: Leo Go Bezerk
Обсалютно с тобою согласен. При лоу моделирование допустимы только четырёхугольные полики, иначе при использовании сглаживания будут появлятся не жилаемые затемнения или засветы.
аватар
 
Leo Go Bezerk 7 0
Трудно рассмотреть, что к чему прикреплено, но есть один ньюанс. Нельзя допускать 5 и более угольных полигонов, если речь идет о лоу поли, а следовательно, играх. Во всяком случае, так меня учили :)
аватар
 
Сергей Хатенков 197 0
по сути правильность\неправильность заключается в количестве трианглов потраченных на одну и ту же форму, в правильном варианте их меньше
2 | След.
Зарегистрируйтесь, чтобы добавить комментарий.
Эту страницу просмотрели: 922 уникальных посетителей