Наверняка у вас была такая ситуация: видите модель - не не можете поставить, потому как его полигональность слишком высока?
Это особенно касаемо моделей оружия. Когда моделлер делает свою работу, зачастую к концу работы ему попросту лень делать малополигонные wolrd(w_) и player(p_) модели и соответственно вход идут меши из view (v_) модели, что конечно же упрощает работу моделлера, но не очень хорошо сказывается на конечной производительности игрока. Высокое кол-во отрисовываемых полигонов - одна из
причин низкого fps(Frames Per Second) игрока.
Как известно чем хуже у клиента машина, тем больше вероятность того что клиент с низким фпс просто выйдет с сервера - что по факту является потерей потенциального игрока. Другие способы поднятия
fps мы обсудим позже.
Эта статья посвящена созданию лоу-поли мешей и сокращению полигонов и соответственно нагрузки на клиент. На самом деле этот гайд должен быть написан еще года два назад, но по своим причинам пришлось отложить. Материалы, которые будут присутствовать, имеют разное время написания, поэтому некоторые моменты могут быть упущены. Если вам что-то не понятно или я
что либо упустил - напишите комментарий в этот пост, либо мне в личку.
Допустим у нас есть такая модель, но мы никак не можем использовать ее в роли world и player's моделей, т.к. количество полигонов 6211.
Конкретно у оружия ~4k с копейками - все остальное это меши рук. Для такого типа моделей желательно использовать модели менее чем 1000 полигонов.
Конечно модель не доделана(что видно по скрину), но не суть - как жертва для наших экспериментов она вполне подходит.
Что нам нужно для работы с моделями?
Milk shape 3d - В нашем случае он нужен для привязки мешей(meshes) к костям(bones), создания анимации idle для world модели.1. 364_milkshape3d184_.zip - внутри есть ключ активации. Думаю не стоит объяснять как им пользоваться?
2. install_khed_1_1_5.zip
3. Растровый редактор Paint.net или Adobe PhotoShop
4. mdl_tools.zip - Компилятор и декомпилятор
KHED - 3d Редактор для создания мешей лоуполи модели. Почему не в MS3d? Она морально устарела, но все еще полезна в некоторых аспектах. В любом случае создавать в ней меш крайне неудобно. Для этого лучше использовать khed. 3d max вообще игнорируем, так как начало работы в нем - всегда сложен в освоении. Нам желательно быстро и удобно.
Paint.net - Растровый редактор, который поможет нам в редактировании текстур
Первым делом нужно создать задник, с которого будем грубо говоря "срисовывать" наши меши.
Для этого:
1. Берем модель и перемещаем ее в отдельную папку (т.к. после декомпиляции появится много файлов).
2. Кидаем его в декомпилятор (в архиве будет батник decompiler.bat, просто киньте drag-n-drop'ом модель на него).
3.Далее открываем .qc файл и смотрим что у нас является мешами, а что анимациями - за меши у нас будут строки с наименованиями:
Посмотреть вложение 2730
7. Выделяем наше оружие на изображении с помощью инструмента "Выделение прямоугольной области", с минимальными отступами между краями оружия и краем выделения области - т.к. потом нам нужно ужимать изображение (текстуру) оружия, не говоря уже о том, что высокие текстуры нам нафиг не сдались на w_ p_ моделях (чем меньше размер текстуры, тем меньше вешает модель, но так же теряется и ее качество.
8. Выделенную область копируем комбинацией клавиш CTRL+C.
9. В верхнем левом углу жмем "файл-> создать..". Появится окошко с выбором разрешения изображения, но т.к. у нас в "буфере-обмена" уже есть изображение, которые мы выделяли, программа сама задаст нужные размеры - жмем OK и вставляем наше изображение комбинацией CTRL+V. Сохраняем в файл формата .jpeg и запоминаем папку, в которую сохранили этот файл.[/u] Таким образом мы создали задник для срисовки.
10. Далее создадим саму текстуру для модели:
Берем задник и редактируем разрешение изображения с помощью комбинации клавиш CTRL+R. Для p_ w_ оптимальным разрешением будет 256х256. Меняем разрешение и сохраняем в формате .bmp 8-bit
Для этого:
1. Берем модель и перемещаем ее в отдельную папку (т.к. после декомпиляции появится много файлов).
2. Кидаем его в декомпилятор (в архиве будет батник decompiler.bat, просто киньте drag-n-drop'ом модель на него).
3.Далее открываем .qc файл и смотрим что у нас является мешами, а что анимациями - за меши у нас будут строки с наименованиями:
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
Открываем 3d редактор Milk Shape 3d, нажимаем в верхнем левом углу file->import->half-life smd и переходим в нашу папку с моделью.
Затем смотрим имя мешей в qc. Находим нужный(е) нам меш(и) и смотрим есть ли еще какие-либо из требуемых для полного отображения нашего оружия .В большинстве случаев меши именуются правильно, в противном случае некоторые инвалиды именуют авось как, в этом случае придется смотреть меши через сам редактор, что конечно же отнимает наше время)
4. Когда все части собраны нам нужно максимизировать одно из окон (конкретно LEFT/RIGHT проекции) и сделать скриншот меша со стороны в режиме Maximize. А так же убираем отображение костей, сетки и осей координат.
Переключение между видами окна проекции
Отключение отображения костей
Отключение осей координат и сетки
Конечный вариант
Как максимизировать окно?Затем смотрим имя мешей в qc. Находим нужный(е) нам меш(и) и смотрим есть ли еще какие-либо из требуемых для полного отображения нашего оружия .В большинстве случаев меши именуются правильно, в противном случае некоторые инвалиды именуют авось как, в этом случае придется смотреть меши через сам редактор, что конечно же отнимает наше время)
4. Когда все части собраны нам нужно максимизировать одно из окон (конкретно LEFT/RIGHT проекции) и сделать скриншот меша со стороны в режиме Maximize. А так же убираем отображение костей, сетки и осей координат.
Переключение между видами окна проекции
Отключение отображения костей
Отключение осей координат и сетки
Конечный вариант
6. Вставляем наш скриншот экрана в редактор комбинацией клавиш CTRL+V, увеличиваем размер изображения с помощью всплывающего уведомления.Жмем пробел (SPACE), либо нажимаем правой кнопкой мыши по окну проекции (напомню нам нужен LEFT/RIGHT), жмем Maximize.
Когда окно будет развернуто так же нажимаем правой кнопкой мыши по окну и ставим галочку на "Textured" - это позволит увидеть наш меш с наложенными текстурами, т.е. почти так как она будет выглядеть в игре.
5. Далее нам нужно сделать скриншот, жмем кнопку PrintScreen (обычно она находится выше NumPad клавиш).
Далее открываем растровый редактор. В моем случае это Paint.Net (нужен любой растровый умеющий сохранять изображении в 8-bit формате - это крайне важно, иначе наша модель просто не скомпилируется).
Посмотреть вложение 2730
7. Выделяем наше оружие на изображении с помощью инструмента "Выделение прямоугольной области", с минимальными отступами между краями оружия и краем выделения области - т.к. потом нам нужно ужимать изображение (текстуру) оружия, не говоря уже о том, что высокие текстуры нам нафиг не сдались на w_ p_ моделях (чем меньше размер текстуры, тем меньше вешает модель, но так же теряется и ее качество.
8. Выделенную область копируем комбинацией клавиш CTRL+C.
9. В верхнем левом углу жмем "файл-> создать..". Появится окошко с выбором разрешения изображения, но т.к. у нас в "буфере-обмена" уже есть изображение, которые мы выделяли, программа сама задаст нужные размеры - жмем OK и вставляем наше изображение комбинацией CTRL+V. Сохраняем в файл формата .jpeg и запоминаем папку, в которую сохранили этот файл.[/u] Таким образом мы создали задник для срисовки.
10. Далее создадим саму текстуру для модели:
Берем задник и редактируем разрешение изображения с помощью комбинации клавиш CTRL+R. Для p_ w_ оптимальным разрешением будет 256х256. Меняем разрешение и сохраняем в формате .bmp 8-bit
продолжение следует .......