Сейчас 07:27:31 Понедельник, 23 декабря, 2024 год
Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я

Меню сайта

Категории

Наш опрос
Ваша любимая раса?
Проголосовало: 177951

Сейчас на сайте
На сайте всего: 1
Гостей: 1
Пользователей: 0

Реклама

Главная » Статьи по WarCraft 3 » Создание карт » Всё о MdlVis
Оптимизация веса модели
Оптимизация веса модели

Вступление


Добрый день, читатель. Часто ли ты отказываешься от использования модели из-за её огромного веса? Бывает же такое, верно?
Сегодня я попытаюсь во всех подробностях описать процесс снижения веса модели.

Мне лично удавалось урезать вес и в полтора и в два раза только руками (не забываем о том что есть в mdlVis'e функция, значительно снижающая вес).
Да, иногда процесс снижения веса модели может быть весьма и весьма трудоемким. И да, для хорошего снижения веса надо быть знакомым с интерфейсами Model Editor и MDlvis, и хоть капельку понимать в моделировании.

Перейдем к делу!

Что чаще всего занимает много веса у модели? Текстура? Анимации? А может, полигоны?
На самом деле, суть веса модели - текст. Да, модель и есть огромное количество текста. В формате *.mdl можно целиком редактировать модель через JassCraft и прочие редакторы, способные расшифровать код модели.

Понятное дело, что модель с небольшим количеством полигонов будет весить меньше хайполи модели, однако, не в полигонах вся соль. К сожалению, многие модельщики абсолютно бездарны в плане экономии веса, им бы побыстрее закончить модель и выложить её в чарты, сорвав кучу "AWESOMEEE!!" и прочих похвал, не удосужившись довести до ума ещё и вес модели. Кроме шуток, даже на том же Хайве часто встречаются модели настолько не оптимальные, что дальше просто некуда.

Первая проблема заключается в CnP фрагментах других моделей через "Специальная вставка". Это одновременно делает сразу три вещи: добавляет новую поверхность, добавляет новый материал, добавляет новую текстуру. Итого мы имеем увеличение веса модели сразу на несколько килобайт, независимо от веса импортного геосета. Когда к модели добавляется 10-15 фрагментов других моделей - вес возрастает значительно (сжирается до 100-150 кб места).

Что нам с этим делать?

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

Начинать стоит именно с текстур. Заходим в менеджер текстур и удаляем все неиспользованные (не видимые на модели) текстуры. Частенько творцы забывают удалить, к примеру, текстуры удалённых партиклов, или, например, текстуру удалённого ими плаща. Да даже стандартную текстуру модели порой ленятся удалить.
Далее, открываем Material Manager и, если видим большое количество материалов, начинаем проверять.

Тут есть одна тонкость - если мы видим, например, 2 материала с одинаковой текстурой, однако, у одного из материалов присутствует еще одна текстура - это, чаще всего, тимколор. Если вы не против оказаться без тимколора - удалите одну из текстур, добавьте другой режим фильтрации Blend и выставьте этот материал в редакторе поверхностей, той поверхности, у которой поле "material" будет "none". И так, при удалении каждого дублированного материала.

Удалили материал - сразу же фиксите отсутствие текстуры на какой-то поверхности (использованную текстуру вы удаляете).

Как только разберетесь с текстурами и материалами - переходите в редактор геосета Mdlvis и соединяйте те поверхности, которые используют идентичные текстуры (Ctrl+C с одной поверхности, Ctrl+V на другую. На старой поверхности удаляем старый геосет, на новой - подстраиваем под старое положение).
Эта операция в некоторых запущенных случаях может срезать вплоть до 100-150 кб (была у меня модель с 120 поверхностями, урезал до 6 поверхностей. Итог - 160 кб).

Вторая проблема - кости. Один из самых сложных, потому как редактировать кости достаточно сложно. Все WarCraft 3 модели обладают парами костей. Более того - половина моделей, сделанных со стандартных, обладает тем же набором костей. ВНИМАНИЕ!!!, если вы не умеете анимировать модель, лучше не удалять эти побочные кости, в противном случае вы можете нарушить красоту анимации модели вообще. Если умеете самостоятельно анимировать и считаете, что вы в силах исправить возможные "баги", которые всплывут в анимации - смело удаляйте все дубликатные кости. Этот шаг при большом количестве анимаций может срезать достаточное количество веса.

Третья проблема - кости оригинала. Допустим если за основу взята модель Иллидана, а автор недобросовестно очищал модель, нам потребуется зайти в редактор склета Mdlvis и поудалять все кости от метаморфозы Иллидана, также все кости с приставкой alternate (аттачи и партикловые источники).

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

Последний шаг оптимизации - Текстура.

Тут все очень быстро и просто. Если текстура размером выше 256x256 - пережимаем её до этого максимального значения в 256x256 (для аттачей достаточно 128x128) и сохраняем через BLPLab со следующими параметрами:

Количество текстур: 4(максимум 5)
Качество JPG: 25 (максимум 40)%


Таким образом из текстуры весом в 600 кб (512x512 100% quality 10 mipmaps) мы получаем текстуру весом 50 кб (256x256 30% quality 4 mipmaps).
Если не менять разрешение текстуры, то вес можно снизить до 40-50 килобайт спокойно.

Кстати, если используется измененная стандартная текстура, то настоятельно рекомендуется в фотошопе удалить (альфа 255) все неиспользованные фрагменты текстуры. Тогда параметры на пиксель будут 0\0\0\0, а номинальный вес файла немного снизится.

Удачи тебе, картостроитель.

UPD От 9 января, 2012 года: Статья оформлена (by Brut@lus)
Отредактировано и доведено до блеска Duosora, 15.03.2013
Просмотров: 2549 Добавил: FkoFF Добавлено: 22 Января 2012 в 22:15:41
Комментариев: 3 |

Всего комментариев: 3
19 Июля 2012
3. Vladik (VMS1) [Материал]
Спасибо, но я ничего не понял :(

22 Января 2012
2. Ergi Duoson ([DUОS]) [Материал]
Опять эта долбанэ жесть...
Мас, ну хотя бы сделать лёгкий заголовок сюда не помешает :)

22 Января 2012
Картинок бы...

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Форма входа

Поиск

Случайная картинка

Случайный файл
[10 Июня 2008]
[Карты · Другое]
Who is the killer? -
Один из игроков киллер. Он должен убить всех. А другие должны убегать от нрего определенное время и убить его в конце. Киллер определяется случайно.

Новые карты
[07 Февраля 2016]
Переезжаем на другой сайт, господа![Dota]
[18 Октября 2015]
Duel of Gods PreV[Другое]
[18 Октября 2015]
Hero of The Empire v1.18g[RPG]
[17 Октября 2015]
Servant War v1.05[Другое]
[17 Октября 2015]
Age of Vikings Edited v1.6[Другое]
[17 Октября 2015]
Strife of the Champions Beta v1.2[Arena]
[17 Октября 2015]
VirusBoll (rus)[Другое]
[17 Октября 2015]
Exterminators v1[AoS]
[17 Октября 2015]
The Lord Heroes v1.2[Другое]
[17 Октября 2015]
Versus heroe Arena 1.0 AI[Arena]

5 лучших по кол-ву добавленных статей
[ Duosora ] [ 58 ]
[ Messenger ] [ 52 ]
[ Bru ] [ 39 ]
[ Pand@ ] [ 35 ]
[ РеКсАр ] [ 27 ]

Наша кнопка
Warcraft3FT.info - Всё для Warcraft 3 и DotA

Другие варианты

Статистика

Материалы:
Новости: 1010
Файлы: 8668
Статьи: 680
Картинки: 8256
Форум: 30520/954989
Комментарии: 58094
Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz