Сейчас 13:04:05 Четверг, 26 декабря, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, Bru  
[Статья] Оптимизация веса модели
FkoFFДата: Среда, 17 Августа 2011, 03:33:39 | Сообщение # 1
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:


[Статья] Оптимизация веса модели







Вступление





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


Мне лично удавалось урезать вес и в полтора и в два раза только руками (не забываем о том что есть в mdlVis'e функция, значительно снижающая вес).

Да, иногда процесс снижения веса модели может быть весьма и весьма трудоемким. И да, для хорошего снижения веса надо быть знакомым с интерфейсами Model Editor и MDlvis, и хоть капельку понимать в моделировании.



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




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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

UPD От 9 января, 2012 года: Статья оформлена (by Brut@lus)




Сообщение отредактировал Brut@lus - Понедельник, 09 Января 2012, 20:14:39
 

t0sДата: Среда, 17 Августа 2011, 09:35:11 | Сообщение # 2
7 уровень
Группа: Проверенные
Сообщений: 443
Награды: 0
Репутация: 219
Блокировки:

Статья мне помогла.


Сообщение отредактировал t0s - Среда, 17 Августа 2011, 10:11:45
 

FaionДата: Среда, 17 Августа 2011, 10:10:48 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Все просто, не юзайте пересадку, делайте скелет и анимки сами, и ловите профит=)

О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

breakmansДата: Среда, 17 Августа 2011, 10:19:58 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 1201
Награды: 0
Репутация: 346
Блокировки:
Faion, чем вам мешает пересадка? Удалить не нужные материалы и текстуры - 3 сек времени...

 

FaionДата: Среда, 17 Августа 2011, 14:10:12 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Quote (breakmans)
Faion, чем вам мешает пересадка?


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


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

FkoFFДата: Среда, 17 Августа 2011, 15:41:56 | Сообщение # 6
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (breakmans)
Faion, чем вам мешает пересадка? Удалить не нужные материалы и текстуры - 3 сек времени...

далеко не всегда. Я на несколько килограммов похуДел с моделей Максима yrPoTria, хотя бы по тому что они даже достаточно бегло - выполнены, закрыв глаза на вес. Да, этот человек умеет делать хорошие модели, однако абсолютно не беспокоится об их весе )


 

Brut@lusДата: Понедельник, 09 Января 2012, 20:14:47 | Сообщение # 7
Группа: Заблокированные
Сообщений: 2496
Награды: 1
Репутация: 924
Блокировки:
Upd

 

FaionДата: Воскресенье, 15 Января 2012, 13:10:23 | Сообщение # 8
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Кстати конструктивности в статье нету, нужно было рассказать про мердж вершин хотя бы.

О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

peinДата: Воскресенье, 15 Января 2012, 17:58:47 | Сообщение # 9
9 уровень
Группа: Проверенные
Сообщений: 1114
Награды: 1
Репутация: 272
Блокировки:
Quote (Faion)
нужно было рассказать

а ище об альфа каналах к примеру текстура с альфа каналом может оптимизировать нашу модель ибо мы секономим на мердже
 

АндреичДата: Четверг, 19 Января 2012, 08:55:58 | Сообщение # 10
7 уровень
Группа: Проверенные
Сообщений: 363
Награды: 0
Репутация: 138
Блокировки:
Quote (Faion)
Все просто, не юзайте пересадку, делайте скелет и анимки сами, и ловите профит=)

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


"не психуй - пиши на гуй..."
 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz