Редактирование
моделей. С чего начать?
Автор: Gh0St
Начало.
Ты решил создать\изменить
скин игрока или оружия в Контре, но не знаешь с какого края подступиться.
Я тоже не великий моделер, так что предлагаю начать разбираться
с этим вопросом (редактированием моделей) вместе. Для начала нам
необходимо скачать основной софт моделера: редактор MilkShape
3D и просмотрщик моделей Half-Life
Model Viewer обе эти программы лежат в разделе файлы данного
сайта.
Ок. Софтом запаслись.
Установили и запустили, что же мы видим по внешнему виду Милкшейп
похож на любой другой 3D редактор.
Типа, ты их много видел, скажешь ты. Немного, но надо же
повыеживаться ;)) Смотрим меню открыть (File -> Open)
программа пытается открыть какие то .ms3d файлы, и все? А
где же обещаннае туева хуча файлов из игрух и
прог и прежде всего из Контры? Скажешь ты. А я отвечу. Ms3d - это собственное
расширение программы MilkShape 3D, а все остальные файлы которые может
открывать и сохранять программа находятся в File -> Import и File
-> Export. И все рано там нет халфовских .MDL файлов, а какие то
.SMD б@#, уже более грубо скажешь ты. А я скажу, что эти .SMD мы в скором
времени достанем из твоих любимых .MDL'ок.
Распаковка моделей.
Чтобы получить Half-Life
SMD файл необходимо сначала распаковать .MDL файл. Делается это
следующим образом. Открываем меню Tools -> Kratisto's Half-Life
MDL Decompiler v1.01 и распаковываем им необходимую нам модель.
Модели игроков в Контре лежат в папке ..\Half-Life\Cstrike\Models\Players\.
Модели оружия лежат в папке ..\Half-Life\Cstrike\Models\. Для редактирования
модели оружия из всей этой кучи файлов нам потребуются только 4
для версии Контры ниже 1.3 и 3 файла для CS 1.3 и выше. Возьмем
к примеру калаш, я давно мечтал о укороченном калаше, поиски в
интернете дали неутешительный результат, все найденые модели были
либо не точно выполненные, либо с какими то наворотами типа глушителя,
фанарика, оптического прицела и т.д. а хотелось чисто просто без
всяких наворотов, но в точном исполнении. Ну да ладно, что то меня
понесло не туда. Модель калаша в CS 1.5 состоит из 3х файлов. Это: p_ak47.mdl -
модель которую видят другие игроки в твоих руках, v_ak47.mdl -
модель которую видишь ты сам в виде от первого лица и w_ak47.mdl -
модель калаша который выляется на земле. Тоже самое относится и
к остальному оружию. В контре ниже 1.3 была еще одна модель v_ak47_r.mdl
- модель для правой руки, от чего в последующих версиях
наблюдался глюк - оружие расположено в левой руке вместо правой
и наоборот. Исправляется этот клюк очень просто. Переименовываем
файл v_ak47_r.mdl в v_ak47.mdl и глюк с калашом исправлен, для
других пушек по аналогии. Копируем 3 наших файла калаша в 3 папки
в безопасное место и начинаем распаковывать Kratisto's Half-Life
MDL Decompiler'ом как говорилось выше. Распаковал? Хорошо.
Должно получиться ~15 файлов. У меня получиловь 7 SMD, 1 QC и 7
BMP файлов (я распаковывал не стандартный калаш, а короткий с наворотами,
который я скачал из инета). Теперь открываем необходимый нам SMD
файл в Mилкшейпе. File -> Import -> Half-Life SMD.
Будь внимателен нам необходимо открыть только один файл со скелетом
(объясню позже). Если ты открываешь тот самый нужный нам файл,
то появляется следующее окно
если открываешь любой другой файл, то появляется такое окно:
Мы откыли нашу модель, тепер все готово для редактирования.
Редактирование.
Принцып скелетной анимации
и с чем его едят. Помнишь я говорил что нам нужен один файл со
скелетом, так вот это файл в котором содержится скелет и прикрепленные
к нему полигоны т.е. сама моделька, а в остальных SMD файлах находятся
анимации нашей основной модели со скелетом т.е. её движения (1
SMD , 1 действие, стрельба, перезарядка, ходьба, прыжок и т.д.).
Скелетная анимация примененная в Half-Life и модификациях в том
числе в CS отличается скажем от анимации моделей в Quake 2, тем,
что не нужно моделировать каждый кадр анимации заново, в CS можно
исправить только одну основную модель игрока или оружия со скелетом
и все анимации наложатся на нашу новую модель автоматически при
компиляции. Т.е. проще говоря если ты не планируешь делать новых
движений игрока при ходьбе, прыжке и т.д., а хочешь использовать
стандартные, то тебе нужно просто сделать новый внешний вид игрока,
а Милкшейп приделает все движения к новой модели сам, если же хочешь
чтобы твой боец дох как то по новому, ну там сальто тройное делал
с переворотом, то флаг тебе в руки и барабан на шею, неслабый гемор
обеспечен, по крайеней мере если пользоваться только средствами
Милкшейпа. Но вернемся к нашему бара... тьфу, к калашу. Я не планировал
делать новые анимации для калаша так как у меня нет системы Motion
Capture, а лишний гемор с созданием анимации мне пока не нужен.
Так что я редактировал только внешний вид. Посмотрим что получилось.
После распаковки и открытия файла у нас четыре вида на трех из
которых можно редактировать, а на четвертом просматривать модель.
Перемещение камеры осуществляется при помощи левой кнопки мыши и нажатой
кнопки Ctrl . Зумирование (увеличение\уменьшение масштаба) при помощи левой
кнопки мыши и нажатой кнопки Shift. Как видно из скриншота модель калаша
сделана довольно реально, но имеет глушитель и фонарь, это мне в нем и
хочется исправить. Но чтобы что то исправить необходимо для начала разобраться
с набором доступных инструментов.
Знай свое орудие.
Посмотри направо, то что
ты там видишь и есть инструменты юного хирурга моделера. Попробуем
поподробнее разобраться что там зачем.
Закладка "Model"
На данной закладке находятся инструменты именно для редактирования и создания
формы нашей модели. Четыре верхние кнопки служат для изменения формы
и положения модели в пространстве, шесть следующих кнопок служат для
создания новой детали или простейшего геометрического тела, а две оставшихся
для растяжения\сжатия выбранной части модели и создания костей скелета.
Теперь подробнее о каждой. Нажимай на интересующие тебя кнопки прямо
на этой странице на скриншоте снизу.
Select
Кнопка
F1. Используется для выделения модели или части модели. Для
тех кто в танке, на скриншоте будем выделять часть модели по
вертексам.
|
Выделить
часть модели по точкам. Выделяем по одной точке левой кнопкой
мышки. Группу точек выбираем преремещая мышь с нажатой
левой кнопкой. Если необходимо добавить точки к уже выделенным
не потеряв выделенные вертексы - нажимаем и держим Shift
и выделяем левой кнопкой мыши, если необходимо снять выделение
с некоторых точек из группы, нажимаем Shift+Правую кнопку
мыши. Чтобы выделить точки на 3D виде делаем тоже самое
+ держим нажатым Alt.
|
|
Выделить
часть модели по фейсам (треугольникам построенным по точкам).
Выделение по фейсам ничем не отличается от выделения по
вертексам, за исключением того что на 3D виде выделять
фейсы можно только по вертексам т.е. если чекбокс "By
Vertex" активен и выделен галкой.
|
|
Выделить
часть модели по отдельным группам объектов состоящих из
фейсов и вертексов. Выделение ничем не отличается от выделения
вертексов.
|
|
Выделить
часть модели по суставам на которые натянуты группы (в
милкшейпе в отличее от биологии все наоборот. Мышцы (вертексы)
крепятся к суставам, а не к костям. А кости служат для
соединения этих суставов). Выделение ничем не отличается
от выделения вертексов.
|
|
Это
очень даже полезная опция. Если она включена, то когда
ты выделяешь фейсы, будут выделяться только видимые тебе
фейсы, а если она отключена, то выделяться будут все фейсы
на которые ты кликнешь, насквозьте как рентгеном.
|
|
Эта
опция работает только в выделении по фейсам. И когда она
включена то фейс выбирается не когда кликаешь в центр треугольника,
а когда кликаешь в точку к которой присоединен этот треугольник.
|
Move
Кнопка
F2. Данный инструмент, как следует из названия, служит для
перемещения модели или ее части выделенной Select'ом в пространстве.
Можно выбрать относительно каких осей координат будем перемещать
модель. На скриншоте перемещаем относительно всех трех осей.
Если
кнопка с буквой оси отжата, то перемещение относительно этой оси
отключается.
В полях
с нулями можно ввести точное значение перемещения помоему в пикселях.
Чтобы двигать точно, после ввода значения необходимо нажать кнопку "Move".
Rotate
Кнопка
F3. Служит для вращения выбранной модели или ее части относительно
осей координат.
Как видно из скриншота
панель управления похожа на панель Move'a.
Но у Rotate'а есть три
замечательных отличия от Move'a.
|
Эта
опция активна по-умолчанию. Модель будет вращаться вокруг
своего центра тяжести.
|
|
Модель
будет вращаться вокруг точки начала координат.
|
|
Эта
опция наверное самая удобная из всех. Точка вращения устанавливается
на месте клика левой кнопкой мыши. Т.е. кликаешь мышом
в вид и держишь кнопку нажатой, двигаешь мышку, а выделенная
модель или часть модели вращается вокруг той точки в которую
ты кликнул.
|
Scale
Scale
растягивает фейсы и группы. Соответственно работает только с выбранными
объектами.
Scale работает абсолютно
также как и Move. Center Of Mass растягивает все от центра объекта,
сохраняя пропорции. Origin растягивает объект относительно начала
координат. User Point позволяет тебе самому выбрать точку относительно
которой будет растягиваться объект.
Здесь же находятся уже
знакомые нам кнопки выбора активных осей. Правда в отличае от предыдущих
инструментов, числа на Scale обозначают не число пикселей на которое
будет растянут объект, а во сколько раз этот объект будет растянут.
Vertex
Кнопка
F5. Инструмент предназначен для создания вертексов (точек). Не
имеет никаких опций. Чего тут сказать то точки основа любой модели,
ставятся они только на 2D виде левой кнопкой мыши. Вертексы всегда
имеет значение 0 (ноль) на одной из осей. Например ты ставишь вертекс
на вид спереди (план X-Y) тогда по оси Z вертекс будет иметь значение
0. Так как он ставится на 2D виде.
Face
Кнопка
F6. Инструмент Face создает полигоны (по простому это треугольники)
между выбранными вертексами.
Опции у фейса не хитрые
одно значение определяющее зону в которую нужно попасть мышкой
чтобы выделить вертекс для фейса. Три вертекса - один фейс. Напомню
что фейсы - это простые треугольники. Вертексы надо выбирать по
определенному порядку. Внимание это важно !!! Если выбираешь
три вертекса-точки против часовой стрелки, то фейс-треугольник
мордой наружу. Если же выбираешь точки по часовой стрелке то треугольник
получается мордой вовнутрь. Проверить какие наружу, а какие вовнутрь
очень просто. Ставим в 3D виде Flat Shaded (правая кнопка
мыши) и смотрим, если какие то треугольники черные, то значит они
мордой вовнутрь и на модели не будут видны текстуры. Правда у меня
иногда милкшейп взглючивал и вся модель становилась черной или
как зебра в полоску. Лечится глюк перезапуском программы или созданием
и удалением простейшего тела (цилиндра например).
Исправить направление морды полигона можно через меню Face
-> Reverse
Vertex Order, предварительно выделив данный полигон через Select -> Face.
Sphere
Сфера.
Одно из встроенных геометрических тел. Не трудно догадаться что
создают при помощи этого инструмента. Кто сказал клизмы с турбонаддувом?
Создается сфера в опциях которой можно задать число плиток в высоту
(Stacks). И длинну окружности в плитках (Slices). Вот пример сферы
с 6 стеками (Stacks) и 12 слайсами (Slices).
GeoSphere
Следующее
тело - это геосфера. Геосфера это оптимизированная версия обычной
сферы, которая состоит из меньшего числа фейсов. Опция "depth" -
это множитель числа фейсов. Т.е. если depth = 2 то число фейсов
из которых состоит геосфера умножится на 2.
Box
Коробка,
куб, параллелепипед. Название говорит само за себя. Дополнительные
опции отсутствуют.
Cylinder
Цилиндр.
Цилиндр создается точно так же как и сфера. У них даже опции почти
одинаковые. У цилиндра есть опция "Close Cylinder". Если
она включена то, говоря по простому, создастся бочка, если выключена
то, труба.
Extrude
Кнопка
F7. Вытягивание. Не бейте за вольный перевод этой команды. Но выталкивание
тут как то не подходит. Больше подходит выдавливание. Вытягивание
производится только с фейсами. Для чего это надо. Например у тебя
есть одна плоскость будущей объемной фигуры, вместо того чтобы
строить объем по точкам можно воспользоваться Extrude'ом. Смотри
скриншоты для более наглядного объяснения.
Вот просто плоскость
А вот уже объемная фигура. Extrude форева.
Опции у екструда стандартные
(выбор активных осей), плюс еще одна Auto Smoothing Group. По идее
эта опция должна сглаживать созданную фигуру, но я честно говоря
не увидел разницы между включенной и выключенной, может ты заметишь.
Joint
Кнопка
F8. Данный инструмент создает джоинт или по простому сустав. Напомню
что в милкшейпе в отличее от биологии
все наоборот. Мышцы (вертексы) крепятся к суставам, а не к костям.
А кости служат для соединения этих суставов. При создании
сустава важно помнить порядок следования суставов. Новый сустав
автоматически присоединится костью к последнему созданному. К примеру
посмотрим на человеческий скелет, плечевые кости присоеденены к
позвоночнику, чтобы сделать тоже самое в милкшейпе необходимо после
создания одного плеча снова выбрать сустав позвоночника Select'ом
к которому прикреплено плече и после этого создавать еще один джоинт-плече.
Получится что оба плеча присоеденены к одному суставу позвоночника.
Новая биология от Милкшейп 3Д :))
Redraw
All Viewports
Эта
опция включает\выключает обновление изображения на всех видах в
реальном времени. Т.е. ты двигаешь модель и если Redraw All Viewports
включен то модель двигается на всех видах, если выключен, то модель
двигается только на том виде на котором ты ее двигаешь, а на остальных
видах модель появляется на новом месте после того как ты отпустишь
левую кнопку мыши.
Auto
Tool
Эта
опция автоматически включает последний использовавшийся инструмент.
Например ты Select'ом выделил несколько вертексов, нажал Move и
передвинул их на новое место, отпустил левую кнопку мыши и Auto
Tool автоматически включит Select. После этого ты выделяешь другие
вертексы и как только отпускаешь левую кнопку крысы, Auto Tool
автоматически включит Move и т.д...
Это сугубо мое личное
мнение, но помоему пользоваться кнопками F1-F8 намного удобнее
нежели отстойным автотулом.
Ну вот с закладкой Model
вроди разобрались. Пошли дальше.
|