Jump to content

Archived

This topic is now archived and is closed to further replies.

Петрович

Конвертим Текстуры

Recommended Posts

Петрович

Всем привет!

 

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

 

Как известно, "умолчальный" формат текстур для Сима является DXT3/Alfa-Channel. Именно в этом формате шкурки грузятся быстрее всего, что легко проверить. Создайте несколько вариантов одной ливреи, но в разных форматах. Уже в меню выбора ВС будет заметно, что быстрее подгружается именно текстура в DXT3/Alfa-Channel. При этом наличие/отсутствие MipMap уровней не играет роли.

 

Однако не все репайнтеры делают текстуры в таком формате. Но это не является проблемой, поскольку шкурки можно и нужно перевести в требуемый вам формат.

 

Вариант один.

Вам потребуется утилита ImageTool. Она входит в дистрибуив FS2002. Также её можно взять по адресу: ftp://ftp.flightsim.ru/imagetool.zip

Итак, открываете файл с искомой текстурой при помощи ImageTool. Далее Image>Fomat и выбираете DXT3, если исходная текстура в другом формате. Все просто! Но у этого метода есть недостатки. Во-первых, нет возможности создать альфа-канал, если его не было в исходной bmp-шке, и во-вторых иногда при выдергивании МипМап-уровней или конвертировании 32bit в DXT3 также теряется альфа-канал.

Но для большинства случаев этод метод приемлим.

 

Вариант два.

Потребуется совершенно другая утилита. Сайт авторов располагается здесь: http://fly.to/mwgfx/

Прямая ссылка на прогу: http://www.mnwright.btinternet.co.uk/download/dxtbmpx.EXE

Итак, запускаете утилитку, далее жмете File>Load Extended Image и выбираете файл, который хотите конвертить. Важно следующее: если вы не хотите испольховать MipMap-уровни, то следует убрать галку из меню Prefs>Use Mipmap. Делать это надо ПРИ КАЖДОМ ЗАПУСКЕ УТИЛИТЫ, ибо данная настройка не запоминается. Далее, если исходник в формате 32bit/Alfa-Channel, то просто сохраните текстуру. Жмите File>Save Extended Image, в ниспадающем меню выбетире формат сохраняемой текстуры "DXT3 with Alfa", укажите папку и название файла, которое вы сохраняете. Я обычно выбирая исходный файл и на вопрос "Такой файл уже существует. Заменить его?" отвечаю "Да".

Если исходник не имеет Альфа-канала, то его надо создать. Меню Alfa>Create Alfa Channel. Я выбираю зеленый альфа-канал (Green), поскольку черный (Black) иногда неправильно распределяется, хромируя черные надписи или шасси :D . Ну, что делать дальше, вы уже знаете. После создания альфа-канала сохраняете свою текстуру в формате DXT3 with Alfa.

Вот собственно и всё.

 

 

Таким образом лично мне удалось значительно улучшить фпс-ки в ДМД, ведь основной траф там не соотсветствовал стандарту по формату текстур.

 

Эта статья будет также размещена на сайте www.traffic.avsim.su

 

Модераторов прошу оставить этот тред здесь, не перемещая его в "Текстуры". И, если можно, прикрепите его, шоб наверху всегда был. Ну или в FAQ по трафу можно вставить.

Share this post


Link to post
Share on other sites
MaximZh

2 Петрович.

 

Спасибо за мини-туториал, полезная информация. Приятно понять, что что-то делаешь правильно, даже когда дошел своим умом, а точнее усидчивостью :D

 

Если можно, два вопроса.

 

1. Замечено, что шкурка в формате DXT1 (w/o alfa) занимет меньше места. При этом зачастую трафиковые модели имеют текстуры в 8-битном или 32-битном формате без альфа-канала. Я обычно переводил их в DXT1 без альфы, получая минимальный размер. Действительно ли перевод подобных текстур в DXT3 с созданием альфы даст выигрыш по производительности, несмотря на чуть больший размер (по сравнению с DXT1 без альфы)?

 

2. Можно ли более подробно про МипМап-уровни? Нужно ли их создавать, и если да, то в каких случаях это имеет смысл? А в каких нет?

Share this post


Link to post
Share on other sites
G-YMML

Петрович, у меня тут проблемка с FSP A330-200 (именно с двухсоткой).

 

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

 

Все остальные модели работают на ура. Только 330-200 глючит. Я уже с texture-coverter экпериментировал, который шел в комлекте с ФС2002 - ничего не помогло.

Share this post


Link to post
Share on other sites
Stranger

2 Петрович

 

1. Альфа канал при конвертировании Imagetool-ом теряется только если он однотонный. Т.е. вся площадь альфа слоя имеет один цвет.

2. При выдергивании МипМап альфа слой не теряется, если он был в оригинальной текстуре, не смотря на то что в свойствах написано Alpha - none.

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

3. К сожалению DTXBmp портит текстуры при сохранении их в DTX3 формате, придает им зеленоватый оттенок и гранулирует плавные переходы цвета. При чем качество изображения снижается при каждом следуещем сохранении.

 

Комплексное использование обеих программ позволяет получить наивысшее качество текстур, а так же решить проблему с альфа каналом.

 

Мой вариант:

 

1. В меню DTXBmp выбираем Prefs/Include Mips (убираем галку).

2. В меню выбираем File/Load Extended Image.

3. Загружаем текстуру.

4. Если альфа канал однотонный, в меню выбираем Alpha/Send Alpha to Editor. Иначе переходим к пункту 8.

5. В граф. редакторе в любом месте, где не произойдет накладки на изображение, рисуем прямоугольник Gray - 50% (127,127,127) небольшого размера (10Х20 пикселов или около того). На этом этапе можно внести и любые другие желаемые изменения альфа канала.

6. Сохраняем изображение.

7. В меню DTXBmp выбираем Alpha/Refresh Alpha.

8. В меню выбираем File/Save Extended Image

9. Save as type устанавливаем на Extended 32 bit (888-8)

10. Сохраняем результат. (Не забываем указать правильное имя файла и папку).

11. В Imagetool открываем ранее сохраненную текстуру.

12. В меню выбираем Image/Format/DTX3

13. Убеждаемся, что альфа присутствует.

14. Сохраняем текстуру.

 

Гемор, конечно, за то гарантирует качество текстуры и сохранность альфа канала. ;)

Share this post


Link to post
Share on other sites
Петрович
2 Петрович.

Если можно, два вопроса.

1. Только что проверил, вариант DXT3/Alfa подгружается быстрее, чем DXT1 w/o Alfa. Однако вариант DXT1/Colorkey грузится также быстро, как и DXT3, но весит ровно в два раза меньше (512Кб против 1048Кб).

Вообще, DXT1, как у нас говорят :D , филогенетически более древний, чем DXT3. Они, я так понимаю, "выросли" из разных версий DirectX. Я в этом не спец, по этому ничего не могу сказать. Но FS2002 и FS2004 по разному себя ведут. В FS2002 неправильный альфа-канал иногда мог захромировать самолет целиком, или сделать его абсолютно черным. В FS2004 никогда такого не видел.

 

Вероятно, что чем меньше размер текстуры, тем лучше. Но DXT1 имеет несколько меньшее качество, чем DXT3.

 

 

2. МипМап-уровни это своего рода текстурные ЛОДы. На большом расстоянии на самолет вешается уровень, скажем 256х256, а не 1024х1024. При этом шкурка выглядит расплывчатой. Избавиться от этой раслывчатости поможет установка в настройках сима мип-мапинга на максимум. В новом симе при установке в настройках мип-мапинга на максимум появляется неприятная рябь и зернистость. Поэтому я ставлю мип-мапинг на 4-5. Но иногда текстуры грузятся расплывчатые (с меньшим разрешением) и при небольшом удалении от самолета. Шоб от этого избавиться, я удаляю мипмап-уровни в текстурах.

Share this post


Link to post
Share on other sites
Петрович
Петрович, у меня тут проблемка с FSP A330-200 (именно с двухсоткой).

Димон, все текстуры себя так ведут или только некоторые? Не обратил внимая, есть ли зависимость от модели (GE/RR/PW)? Пришли мне какую-нть проблемную текстуру, погляжу что там с ней.

 

suckmykiss()inbox.ru

Share this post


Link to post
Share on other sites
dimych

Господа, а чем же хорош тогда DXT 5 ? :D

post-36-1089053145_thumb.jpg

Share this post


Link to post
Share on other sites
Петрович

2 Stranger:

 

Действительно гемор :D

Возможно ты прав, но я пока не сталкивался с проблемами вроде потери качества текстуры.

 

 

2 ALL:

 

В крайней версии утилиты (v4.00.79 - именно на неё дана ссылка) немного изменён интерфейс. Но приципы остаются те же.

Открывается файл через меню File>Open.

Создание альфаканала - без изменений.

Мипмап-уровни - убрать галку из чекбокса "Include When Saving" справа на панельке "Mip Maps".

Сохранение - меню File>Save, формат DXT3 подразумевает использование альфа-канала.

Share this post


Link to post
Share on other sites

×
×
  • Create New...