Среда, 15.05.2024, 05:55


Главная
Регистрация
Вход
Dota-topGame Приветствую Вас Гость | RSS  
Меню сайта

Категории раздела
League of Legends [107]
Dota [115]
Dota 2 [96]
Warframe [39]

Наш опрос
В какие карты Wc3 вы играете?
Всего ответов: 60

Статистика

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

Форма входа

Главная » Статьи » Dota

Уменьшение веса карты


Эта статья предназначена для тех, у кого в карте очень много импорта и кто хочет уменьшить занимаемый им объём в карте. 
Что это вам даст? Ваша карта будет быстрее скачиваться и загружаться, особенно в официальной сети Battle.Net, где карты весом более 8 мегабайт запрещены. 

Эта статья не о том, как импортировать мультимедиа в карту (иконки, тайлы, звуки и пр.), а о том, как оптимально уменьшить их вес в карте: максимальное сжатие при минимальной потере качества. 

1. Что такое сжатие? 
Любой тип файла, который будет импортирован в карту, будет сжат до определённого размера при сохранении карты. Проще говоря, все файлы как бы записываются в zip-архив, который носит название такое же, как и карта. 
Zip-сжатие медиафайлов осуществляется по типу lossless, что во многих случаях не особо эффективно. Однако, было разработано некоторое количество кодеков (COmpressor-DECompressor) для ещё большего сжатия, но с некоторой потерей информации. Лучшим примером будет Fraunhofer mp3 codec, серьёзно сжимающий размер аудиофайла, к примеру, сжатие в битрейте 128 kbps уже заход на грань планки между небольшой или серьёзной потерей информации (качеством). 
WarCraft 3 поддерживает лишь некоторые из них. В некоторых случаях может понадобиться workaround, помогающий в сжатии файла для достижения более эффективного результата. Вы узнаете, как это делать ниже. 
В зависимости от качества и количества импортированных материалов, эта процедура будет или не окажется полезной и стоящей. Очевидно то, что чем больше вес карты, тем настоятельнее и важнее рекомендация оптимизировать её. Если с импортом карта весит менее 1 Мб, тогда оптимизация будет всего лишь полезным советом. 

Небольшой дисклеймер перед началом работы: Нижеуказанные процедуры могут повредить информацию в файлах и потерю качества, которое может быть или не может быть замечено. Все процедуры потенциально опасны и могут спровоцировать порчу файлов, так что храните оригиналы при себе. 

2. Текстуры 
Потенциал сжатия: ~20% - 60% от каждого файла 

Нужные программы:
    BLPaletter

BLPaletter позволяет сжимать файлы формата *.blp, которые для WarCraft 3 являются "родными". Это касается импортированных текстур и иконок. Положительный момент этой программки в том, что она применяет сжатие jpg, которое позволяет большее сжатие. С GUI его использование предельно простое:
  • Нажмите на кнопку Open, откройте текстуру или иконку; 
  • Выберите имя сжатого *.blp-файла во втором поле сверху; 
  • Ниже, проверьте JPEG-сжатие, чтобы получить полный потенциал от него; 
  • Оставьте следующее поле как есть, оно не касается JPEG-сжатия; 
  • В поле ниже задайте Compression Rate (уровень сжатия). Рекомендую задать здесь ~75-85 для всех текстур и ~55-65 для всего, что редко видно, к примеру, Disabled-иконки. Подробнее о ручном создании иконок здесь.


3. Модели 
Потенциал сжатия: ~30% - 40% от каждого файла 

Нужные программы:
    MDX Squisher


Как уже видно из названия, программа позволяет сжимать модели, в результате чего мы получим большее сжатие. Как уже сказано в readme к этой программе, не рекомендуется использовать её много раз на одной модели, в результате можно получить заметное снижение её качества. Некоторые модели уже могут быть ей обработаны, это должно быть сказано в её описании. В этом случае лучше снова не сжимать модель. Использование MDX Squisher особых объяснений не требует - выберите модель, сохраните её и всё. 

Те, кто хочет выжать ещё больший процент оптимизации, могут прочесть статью FkoFF'а про оптимизацию моделей. Уверен, что вы почерпнёте очень многое из неё. 

4. Звуки и аудио 
Потенциал сжатия: ~50% - 80% от каждого файла 
Нужные программы:
    BeSweet Complex 


Звуковые файлы в WarCraft 3 сохраняются в формате *.wav (22,050 khz, 16 bit, 1 channel pcm). Когда вы импортируете свои звуки (за исключением музыки в формате mp3), учтите этот факт. 
Неплохо бы импортировать все прочие звуки в формате *.mp3, правда? Но, к сожалению, это невозможно. Правда, есть трюк, позволяющий импортировать файлы *.mp3, воспринимаемые как *.wav-файлы. Мы не можем при этом сохранить все прелести сжатия аудио формата *mp3, ведь получится *.mp3-файл с заголовком *.wav-файла. Среди всех коммерческих и некоммерческих аудиоконвертеров был найден лишь один, который бесплатный, очень эффективный с экстраординарным функционалом и лгкой установкой. Это и есть BeSweet. 

Как установить BeSweet:
    1. Извлечь папку BeSweet; 
    2. Извлечь в неё GUI-файлы, перезаписав оригиналы.


Как сконвертировать аудио:
    1. Выбрать файл для конверсии; 
    2. Проверить все настройки:
      - Azid1: Уберите всё, если же звук громкий - поиграйте с Normalizer'ом. 
      - Azid2: Если даже что-то включено, уберите всё. 
      - SSRC: Или оставьте как есть, или задайте на 22050 
      - Lame1: Задайте "Mode" как mono, если конвертируете mono-файл, на "Stereo", если конвертируете stereo-файл; необязательно: включите "Turn ATH down to a Flat Noise Factor" 
      - Lame2: Включите "Error Protection", теперь (важно!): задайте "CBR" на 96 (или на 128 для немного большего качества) 
      - Lame3: Уберите всё. 
      - 2Lame: Оставьте как есть. 
      - BeSweet: Отключите SRRC, отключите Boost; Важно: в Lame задайте MP3-WAVE. 
      - OTA-опции должны быть отключены.

    3. Выберите файл на выходе. Задайте другую папку или имя, отличающееся от оригинала; 
    4. Поехали - нажимайте WAV to WAV.

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

5. Оптимизация кода 
Потенциал сжатия: Никаких конкретных значений тут нет, всё зависит от того, насколько код "запущен" - чем меньше в нём строк, тем меньше он весит. 

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

Уменьшаем лаги в карте 
Как оптимизировать свой код 

6. Последние штрихи 
Потенциал сжатия: ~10% - 20% от всего места, занятого картой 
Нужные программы:
    Wc3 Map Optimizer 


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

В разделе Script Optimization выделите: 
ZLib Deflate 

В разделе Map Optimization Options выделите: 
Optimize string usage 
Clean BLP's. 
Если у вас есть скрипты, например, скрипты ИИ, также выделите: also optimize other scripts 

В разделе Extra Cleaning выделите: 
Remove Editor Suffixes 
Remove Editor Only Files 
Remove as much WE-only data as possible 

После того, как все шаги пройдены, карта должна достаточно потерять в весе. Надеюсь, эта инструкция поможет сохранить несколько лишних мегабайт для другого импорта в карте!
Категория: Dota | Добавил: kAniSTrA (03.04.2012)
Просмотров: 1428 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск

Copyright MyCorp © 2024Конструктор сайтов - uCoz