Сайт о моделировании в Counter-Strike и не только...
Бешеный.народ.ру
 
Модели игроков и оружия
Создание карт в CS
Документация
Файлы
Роботы
Консольные команды
Прочее
Форум
Гостевая книга

Начало моделирования в Half-Life и модах Half-Life. Руководство для абсолютных новичков.

Последнее обновление 20 августа 2003 от Нейла "Джед" Джедржеевски (Neil 'Jed' Jedrzejewski)
Оригинал здесь
Перевод с английского: Gh0St

Вступление

Как опытный 3D моделлер и довольно активный участник форумов Day of Defeat, я часто вижу новичков которые очень хотят научиться. К сожалению не все они получают обнадеживающий и теплый прием на некоторых форумах и со статусом "новичек" нарываются на грубость или получают непонятный, неполный ответ. Так вот это руководство для вас - новички, для парней которые решили начать.

Что раскрывает это руководство: "базовые знания", разъяснение языка, технические аспекты, то, что необходимо знать для создания и модификации моделей для игры Half-Life и ее многочисленных модов. Это может показаться скучным и тупым, но поверь мне дорогой новичек, ты получишь больше уважения и более полезные ответы на различных форумах, если сможешь продемонстрировать знание предмета. Это в твоих собственных интересах - прочитать этот документ!

Начнем с самого начала - что такое модель?

Что-ж я полагаю что объяснение того, что такое модель - это лучшее место для начала!

В Half-Life (или ее модах) модель - это 3D объект, как статический так и анимированный, который находится внутри 3D мира, но не является его частью. Ок, это заявление немного сбивает с толку, так что давайте немного остановимся на нем.

Мир Half-Life (или карта, или уровень. Выбери слово которое больше нравится.) определяется в .BSP файле. Этот мир состоит в общем из довольно больших блоков (известных как браши) с наложенными на них текстурами. Из-за того, что мир зачастую гораздо больше по размерам, чем игрок, он часто довольно груб и примитивен. Обычно в .BSP файле находится только ландшафт и статичная архитектура мира.

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

Это довольно общее описание моделей, но в зависимости от того, как далеко вы углубитесь в моделирование для Half-Life, у вас будут появляться более подробные представления об этом.

Файлы моделей и определение их типов.

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

Не так давно Вэлв (Valve), создатели Half-Life, ввели новую систему под названием Стим (Steam), для доставки контента и апдейтов Half-Life и ее модов. Одна проблема со Стимом заключается в том, что файлы игры хранятся внутри большого архива, который называется кеш игры ("game cache"). Этот кеш файл зашифрован и на сегодняшний день достать из него файлы невозможно. (Прим. перев.: Ну опаздал я с переводом, опаздал... :))) Это очень плохая вещь для моделеров, так как невозможно распаковать основные модели из игры, для сравнения со старыми и для создания новых. Мы надеемся что со временем Valve также выпустит утилиту для работы с этими кеш файлами или оригинальный контент для использования моделлерами. В любом случае можно найти исходники моделей и информация идущая далее все еще актуальна для моделирования в Half-Life.

Как бы то ни было, предположим что у вас есть доступ к содержимому игры, что же такое файлы моделей. Хорошо, если вы просмотрите в папке Half-Life (или папке мода) вы можете увидеть несколько файлов с расширением .mdl - предполагается что у вас в операционной системе включено "показывать расширение файлов". Когда мы говорим об этих файлах мы зачастую называем их "MDL файлы".

В модах Half-Life MDL файлы обычно располагаются в папке "models", хотя в некоторых модах и в самой Half-Life, они могут находится внутри PAK файлов. Эти PAK файлы своего рода архивы нескольких файлов, собранных в группы и которые открываются особоыми программами.

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

Когда мы говорим о типах моделей, мы имеем в виду то что модель из себя представляет. Существует несколько стандартных терминов, выделенных в кругах Half-Life и следующие абзацы помогут вам их узнать.

Модели игроков - это модели живых существ в игре. Сюда входят ваша модель, модели других игроков в сетевой игре, монстры, пришельцы, солдаты и т.д

Модели вида или "v_модели" - это модели которые видны на виде от первого лица и показывают вас или вещи которые вы держите и как бы видите собственными глазами. Когда вы играете в Half-Life, руки которые вы перед собой, оружие которое вы ими держите и т.д. - это модель вида. Другое ее название - "v_модель", название происходит от того, что почти всегда имя файла модели начинается на "v_", например "v_mp5k.mdl".

Модели оружия или "w_модели" - это модели предметов которые вы можете поднять и использовать как оружие или для завершения задания. Как и модели вида название" w_модель" произошло от того, что название файла модели начинается на "w_", например" w_luger.mdl".

Модели оружия третьих лиц или "p_модели" - это почти то же самое, что и модели оружия, только эти модели представляют собой оружие или объект, который держит в руках другой ирок или монстр. Тогда как модель оружия просто лежит на полу и исчезает когда ее "подобрали", p_модель нужно корректно расположить в руке игрока или монстра который ее держит. И снова название "p_модель" произошло от того что большинство названий файлов этих моделей начинается с "p_"


На этой картинке, Барни - это "модель игрока", оружие которое он держит - это" модель оружия третьих лиц". Лом, ваше оружие - "модель вида".

Модели внутренностей - это довольно забавные вещи которые можно отстрелить, или которые могут вылетать из других вещей игрового мира. Простые примеры: кники которые слетают с полок когда по ним стреляют, банки газировки, которые выпадают из автамата или камни, вылетающие из стены после взрыва. Более ужасный пример - "человеческие внутренности" (human gibs), маленькие части тела на которые разлетается тело игрока после взрыва! (В таких случаях говорят что игрока или монстра разорвало в мясо "gibbed").


Разбитый автомат с газировкой выбрасывает банки с лимонадом, которые и являются моделями внутренностей.

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


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

Анатомия модели.

Ок, итак мы знаем что такое модель и какие имена для каких типов используются. Но что же такое модель в действительности и из чего она состоит?

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

Давайте начнем с самого начала и разберем модель по ее довольно простым частям.

Физическая оболочка модели, ее форма, сделана из двух определенных вещей. И эти вещи - вертиксы и фейсы. Это правильное выражение, но часто мы используем альтернативные названия, которые более понятны и легче запоминаются. Вертиксы "vertices" (в единственном числе - вертекс "vertex") - это точки в 3D пространстве и следовательно их часто называют просто "точки". Сами по себе точки это ничто, но соединенные между собой в треугольник они создают фейс, из которых собственно и состоит форма вашей модели.

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


На этой картинке показаны вертиксы (красные) и как они соединяются в треугольники, которые становятся фейсами.

Так как же из этого получается наша модель? Если вы правильно соедините все вертиксы между собой, вы получите объект полностью состоящий из треугольных фейсов. Получается основная форма нашей модели и часто ее называют "меш" (от англ. mesh - сетка, сети). Почему меш? Ну потому что когда вы создаете модель в программе 3D редакторе эта модель выглядит как из проволоки, из сетки.


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

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

Как и у людей у моделей в Half-Life есть скелет состоящий из одной или более костей. Кости нужны для создания анимации и каждый вертекс в вашей модели должен быть прикреплен к соответствующей кости. Когда кость двигается, ваши вертиксы двигаются вместе с ней изгибая и вращая вашу модель, анимируя ее. Это правило для ВСЕХ моделей, даже для тех которые не двигаются, а просто лежат, модель должна иметь по крайней мере одну кость. Кости как указатели указывают вертиксам, куда двигаться. Даже если модель не двигается, каждый вертекс должен быть прикреплен к неподвижной кости.


Соединенные кости создают скелет к которому прикрепляются вертиксы, которые затем можно анимировать.

Поза эталон и анимация.

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

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


Классическая эталонная поза человека в Half-Life

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

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

Для анимации в Half-Life используется анимация с использованием ключевых кадров. Что это такое? Анимация с использованием ключевых кадров работает почти как комикс, серия картинок показывающих какое то событие. Это дает нам возможность побыть в роли хореографа и строить анимацию размещяя кости определенным образом и сохраняя снимки ключевых моментов движения. Эти ключевые моменты или ключевые кадры становятся фиксированными точками, которые проходит анимация за время своего действия. Анимация между ключевыми кадрами просчитывается автоматически программой которую вы используете. Анимация может проходить между ключевыми кадрами с постоянной скоростью (линейно) или с различной скоростью (направленно). Изменение скорости анимации между ключевыми кадрами зависит от программы которую вы используете для моделирования.


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

Теперь когда мы знаем как работает анимация, как она хранится? В Half-Life все позы эталоны и анимации хранятся в файлах с расширением .SMD. Я не видел официальной расшифровки этой абривиатуры, но "простое описание модели" (Simple Model Definition), по моему подходит вполне точно. Эти .SMD файлы компилируются внутрь MDL моделей и если вы хотите их достать из существующей модели, вам придется декомпилировать эту модель.

Существует два типа SMD файлов - файлы эталоны и файлы анимаций. Из-за того что у них одно расширение очень трудно определить тип файла не открыв его предварительно в тектовом редакторе (эталоны содержат строку похожую на эту - "gun_reference.smd", а анимации нечто такое - "walk_anim.smd").

Одеваем модель

Иметь качественный 3D меш нашей модели - это хорошо, но во всем белом он выглядит как то скучно. Вот здесь то и начинается следующий шаг.

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

Текстуры в Half-Life - это файлы формата (BMP - Windows Bitmap). Они могут иметь максимум 256 различных цветов (которые называют индексированной или восьмибитной палитрой, "indexed", "8-bit") и в большинстве случаев не могут превышать размеров квадрата в 512 пикселов. Модель в Half-Life может содержать одну большую текстуру, которая покрывает всю модель целиком, или много маленьких. Более сложные модели обычно содержат более одной текстуры, так как это позволяет использовать больше цветов в модели (КАЖДАЯ картинка может иметь максимум 256 цветов, но эти цвета не обязательно должны быть одинаковыми на всех картинках) и позволяет вам менять текстуры на отдельных частях модели.

Перед тем как эффектифно текстурировать модель вам необходимо сделать болванку чтобы показать Half-Life на какую часть 3D модели накладывать часть 2D текстуры. Этот процесс называется "карта UV" (UV Mapping). Его часто ошибочно называют" мешинг". Не используйте это название так как оно относится к меши модели и возникнет путаница.

Что же такое карта UV? Проще всего думать о ней как о развертке всех фейсов вашей модели в одной плоскости. Это как если взять картонную коробку развернуть ее оторвав все скрепки и положить на пол. На этой плоской форме вы можете нарисовать текстуру в любом редакторе растровой графики, таком как Adobe Photoshop и затем импортировать ее в ваш редактор 3D графики где текстура правильно наложится на модель.


Пример части UV карты с туловища модели. Как вы можете видеть модель разложена на одной плоскости, чтобы было проще рисовать в 2D редакторе.

Хорошую UV карту сделать не так то уж и просто, но существует довольно много программ которые помогут вам в этом. На моделях человека, UV карта может улучшить или ухудшить вид текстуры. Печально, но зачастую неумение сделать хорошую UV карту приводило к тому, что прекрасная модель никогда не выходила в свет.

Двигаемся далее

Что ж, это конец нашего букваря по моделированию в Half-Life. Пока я не расскзываю вам как конкретно что то сделать, вам необходимо сначала понять общие принцыпы моделирования в Half-Life и порядок шагов этого процесса.

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

Milkshape Basics - A beginners guid to getting started with Milkshape3D
DosFX - Half-Life/CS character modelling tutorial
Modelling a Zombie - Tutorial on modelling a zombie character in Milkshape3D
UVMapping with LithUnWrap - Tutorial on UVMapping using LithUnWrap
Skinning a 3D model - Tutorial on basic skinning and texturing a model



Напиши мне
Copyright © Gh0St 2000-2005
Найти: на
Hosted by uCoz